diff --git a/docs/resources/cassandra.md b/docs/resources/cassandra.md index e167a7d9b..6ea7ff82e 100644 --- a/docs/resources/cassandra.md +++ b/docs/resources/cassandra.md @@ -1,17 +1,23 @@ --- -# generated by https://github.com/hashicorp/terraform-plugin-docs page_title: "aiven_cassandra Resource - terraform-provider-aiven" subcategory: "" description: |- Creates and manages an Aiven for Apache Cassandra® https://aiven.io/docs/products/cassandra service. --- - # aiven_cassandra (Resource) Creates and manages an [Aiven for Apache Cassandra®](https://aiven.io/docs/products/cassandra) service. -## Example Usage +~> **End of life notice** +Aiven for Apache Cassandra® is entering its [end-of-life cycle](https://aiven.io/docs/platform/reference/end-of-life). +From **November 30, 2025**, it will not be possible to start a new Cassandra service, but existing services will continue to operate until end of life. +From **December 31, 2025**, all active Aiven for Apache Cassandra services are powered off and deleted, making data from these services inaccessible. +To ensure uninterrupted service, complete your migration out of Aiven for Apache Cassandra +before December 31, 2025. For further assistance, contact your account team. + + +## Example Usage ```terraform resource "aiven_cassandra" "example_cassandra" { project = data.aiven_project.example_project.project @@ -30,7 +36,6 @@ resource "aiven_cassandra" "example_cassandra" { } } ``` - ## Schema @@ -195,11 +200,8 @@ Read-Only: - `route` (String) - `ssl` (Boolean) - `usage` (String) - ## Import - Import is supported using the following syntax: - ```shell terraform import aiven_cassandra.example_cassandra PROJECT/SERVICE_NAME ``` diff --git a/docs/resources/cassandra_user.md b/docs/resources/cassandra_user.md index 5b843e702..67e766a3c 100644 --- a/docs/resources/cassandra_user.md +++ b/docs/resources/cassandra_user.md @@ -1,17 +1,23 @@ --- -# generated by https://github.com/hashicorp/terraform-plugin-docs page_title: "aiven_cassandra_user Resource - terraform-provider-aiven" subcategory: "" description: |- Creates and manages an Aiven for Apache Cassandra® service user. --- - # aiven_cassandra_user (Resource) Creates and manages an Aiven for Apache Cassandra® service user. -## Example Usage +~> **End of life notice** +Aiven for Apache Cassandra® is entering its [end-of-life cycle](https://aiven.io/docs/platform/reference/end-of-life). +From **November 30, 2025**, it will not be possible to start a new Cassandra service, but existing services will continue to operate until end of life. +From **December 31, 2025**, all active Aiven for Apache Cassandra services are powered off and deleted, making data from these services inaccessible. +To ensure uninterrupted service, complete your migration out of Aiven for Apache Cassandra +before December 31, 2025. For further assistance, contact your account team. + + +## Example Usage ```terraform resource "aiven_cassandra_user" "example_service_user" { service_name = aiven_cassandra.example_cassandra.service_name @@ -20,7 +26,6 @@ resource "aiven_cassandra_user" "example_service_user" { password = var.service_user_pw } ``` - ## Schema @@ -52,11 +57,8 @@ Optional: - `delete` (String) - `read` (String) - `update` (String) - ## Import - Import is supported using the following syntax: - ```shell terraform import aiven_cassandra_user.example_service_user PROJECT/SERVICE_NAME/USERNAME ``` diff --git a/internal/sdkprovider/service/cassandra/cassandra.go b/internal/sdkprovider/service/cassandra/cassandra.go index 03cc41768..f516601f5 100644 --- a/internal/sdkprovider/service/cassandra/cassandra.go +++ b/internal/sdkprovider/service/cassandra/cassandra.go @@ -37,12 +37,13 @@ func cassandraSchema() map[string]*schema.Schema { func ResourceCassandra() *schema.Resource { return &schema.Resource{ - Description: "Creates and manages an [Aiven for Apache Cassandra®](https://aiven.io/docs/products/cassandra) service.", - CreateContext: schemautil.ResourceServiceCreateWrapper(schemautil.ServiceTypeCassandra), - ReadContext: schemautil.ResourceServiceRead, - UpdateContext: schemautil.ResourceServiceUpdate, - DeleteContext: schemautil.ResourceServiceDelete, - CustomizeDiff: schemautil.CustomizeDiffGenericService(schemautil.ServiceTypeCassandra), + Description: "Creates and manages an [Aiven for Apache Cassandra®](https://aiven.io/docs/products/cassandra) service.", + DeprecationMessage: "Aiven for Apache Cassandra® is approaching its end of life on the Aiven Platform. After 31 December 2025, all active Cassandra services will be powered off and deleted, making data from these services inaccessible.", + CreateContext: schemautil.ResourceServiceCreateWrapper(schemautil.ServiceTypeCassandra), + ReadContext: schemautil.ResourceServiceRead, + UpdateContext: schemautil.ResourceServiceUpdate, + DeleteContext: schemautil.ResourceServiceDelete, + CustomizeDiff: schemautil.CustomizeDiffGenericService(schemautil.ServiceTypeCassandra), Importer: &schema.ResourceImporter{ StateContext: schema.ImportStatePassthroughContext, }, diff --git a/internal/sdkprovider/service/cassandra/cassandra_user.go b/internal/sdkprovider/service/cassandra/cassandra_user.go index 0f6a6d3e9..a53da160d 100644 --- a/internal/sdkprovider/service/cassandra/cassandra_user.go +++ b/internal/sdkprovider/service/cassandra/cassandra_user.go @@ -49,11 +49,12 @@ var aivenCassandraUserSchema = map[string]*schema.Schema{ func ResourceCassandraUser() *schema.Resource { return &schema.Resource{ - Description: "Creates and manages an Aiven for Apache Cassandra® service user.", - CreateContext: schemautil.ResourceServiceUserCreate, - UpdateContext: schemautil.ResourceServiceUserUpdate, - ReadContext: schemautil.ResourceServiceUserRead, - DeleteContext: schemautil.WithResourceData(schemautil.ResourceServiceUserDelete), + Description: "Creates and manages an Aiven for Apache Cassandra® service user.", + DeprecationMessage: "Aiven for Apache Cassandra® is approaching its end of life on the Aiven Platform. After 31 December 2025, all active Cassandra services will be powered off and deleted, making data from these services inaccessible.", + CreateContext: schemautil.ResourceServiceUserCreate, + UpdateContext: schemautil.ResourceServiceUserUpdate, + ReadContext: schemautil.ResourceServiceUserRead, + DeleteContext: schemautil.WithResourceData(schemautil.ResourceServiceUserDelete), Importer: &schema.ResourceImporter{ StateContext: schema.ImportStatePassthroughContext, }, diff --git a/templates/resources/cassandra.md.tmpl b/templates/resources/cassandra.md.tmpl new file mode 100644 index 000000000..71c418a58 --- /dev/null +++ b/templates/resources/cassandra.md.tmpl @@ -0,0 +1,29 @@ +--- +page_title: "{{.Name}} {{.Type}} - {{.ProviderName}}" +subcategory: "" +description: |- +{{ .Description | plainmarkdown | trimspace | prefixlines " " }} +--- +# {{.Name}} ({{.Type}}) + +{{ .Description | trimspace }} + + +~> **End of life notice** +Aiven for Apache Cassandra® is entering its [end-of-life cycle](https://aiven.io/docs/platform/reference/end-of-life). +From **November 30, 2025**, it will not be possible to start a new Cassandra service, but existing services will continue to operate until end of life. +From **December 31, 2025**, all active Aiven for Apache Cassandra services are powered off and deleted, making data from these services inaccessible. +To ensure uninterrupted service, complete your migration out of Aiven for Apache Cassandra +before December 31, 2025. For further assistance, contact your account team. + + +{{ if .HasExample -}} +## Example Usage +{{ tffile .ExampleFile }} +{{- end }} +{{ .SchemaMarkdown | trimspace }} +{{ if .HasImport -}} +## Import +Import is supported using the following syntax: +{{ codefile "shell" .ImportFile }} +{{- end }} diff --git a/templates/resources/cassandra_user.md.tmpl b/templates/resources/cassandra_user.md.tmpl new file mode 100644 index 000000000..71c418a58 --- /dev/null +++ b/templates/resources/cassandra_user.md.tmpl @@ -0,0 +1,29 @@ +--- +page_title: "{{.Name}} {{.Type}} - {{.ProviderName}}" +subcategory: "" +description: |- +{{ .Description | plainmarkdown | trimspace | prefixlines " " }} +--- +# {{.Name}} ({{.Type}}) + +{{ .Description | trimspace }} + + +~> **End of life notice** +Aiven for Apache Cassandra® is entering its [end-of-life cycle](https://aiven.io/docs/platform/reference/end-of-life). +From **November 30, 2025**, it will not be possible to start a new Cassandra service, but existing services will continue to operate until end of life. +From **December 31, 2025**, all active Aiven for Apache Cassandra services are powered off and deleted, making data from these services inaccessible. +To ensure uninterrupted service, complete your migration out of Aiven for Apache Cassandra +before December 31, 2025. For further assistance, contact your account team. + + +{{ if .HasExample -}} +## Example Usage +{{ tffile .ExampleFile }} +{{- end }} +{{ .SchemaMarkdown | trimspace }} +{{ if .HasImport -}} +## Import +Import is supported using the following syntax: +{{ codefile "shell" .ImportFile }} +{{- end }}