-
Notifications
You must be signed in to change notification settings - Fork 9.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Amazon Managed Apache Cassandra Service / Keyspaces #11221
Comments
Hi @markvdlaan93 👋 Thank you for submitting this. At this current time, AWS has not released an API or SDK for this new service:
Without these, we cannot implement support for this AWS service in Terraform. Please reach out to AWS Support or your account managers to ask about API support. |
Hi Everyone ! |
Amazon Keyspaces (for Apache Cassandra) is now generally available: No support in the AWS SDK yet though. |
It appears some sort of integration with an IAM user might be necessary since that's where one would create a Cassandra credential that's used by clients to connect. |
Hey all, I was battling with this today and wanted to share my solution in case it's helpful for anyone else. I ended up using CloudFormation via Terraform as follows to create a keyspace and a table: main.tf provider "aws" {
region = "eu-central-1"
version = "~> 3.0"
}
resource "aws_cloudformation_stack" "keyspaces" {
name = "my-keyspace"
template_body = file("./keyspace.yaml")
} keyspace.yaml AWSTemplateFormatVersion: 2010-09-09
Resources:
MyKeyspace:
Type: AWS::Cassandra::Keyspace
Properties:
KeyspaceName: abc
MyTable:
Type: AWS::Cassandra::Table
DependsOn: MyKeyspace
Properties:
KeyspaceName: abc
TableName: my_table
PartitionKeyColumns:
- ColumnName: id
ColumnType: TEXT
BillingMode:
Mode: ON_DEMAND NOTE: Column changes aren't currently supported by CloudFormation, so once your table has been created, you can't change it with Terraform/CloudFormation. |
Amazon renamed MCS to Keyspaces. https://ca-central-1.console.aws.amazon.com/keyspaces/home we should use that name instead and change the title of the bug accordingly so people can find it more easily. |
Another workaround is to use a JSON template -
and use an input to the {
"keyspaces_name": "k12",
"tables": [
{
"name": "some_table",
"index": 1,
"partition_key_columns": [
{
"name": "p_test1",
"type": "ascii"
},
{
"name": "p_test2",
"type": "int"
}
],
"clustering_key_columns": [
{
"name": "c_test1",
"type": "text",
"order_by": "asc"
},
{
"name": "c_test2",
"type": "text",
"order_by": "desc"
}
],
"regular_columns": [
{
"name": "r_test1",
"type": "set<text>"
},
{
"name": "r_test2",
"type": "list<int>"
}
],
"billing": {
"mode": "PROVISIONED",
"read_capacity_units": 5,
"write_capacity_units": 5
},
"tags": [
{
"key": "tag1",
"value": "value1"
},
{
"key": "tag2",
"value": "value2"
}
],
"point_in_time_recovery": true
}
]
} |
What date will it be released? |
Looks like this can be managed in sdk |
I'll pick this up over the next few weeks. |
Hi @roberth-k. Thanks for picking this up. Even I was planning to work on this. Maybe we can coordinate and work together on this. |
Hi @saurabh-program. I don't think it's likely that we could efficiently work on the same resource at the same time. However, I've just published a PR (#23770) for |
Sure. I
That works. I'll pick up the |
Hi all 👋 Just letting you know that support for the |
I'm going to lock this issue because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active issues. |
Community Note
Description
Since one week, AWS released Managed Apache Cassandra service in a couple of regions: https://aws.amazon.com/mcs/. Obviously, I can't find anything in the Terraform docs, so I'm assuming that this still needs to be implemented. If this is the case, I would like to contribute. Please have a look at the potential Terraform configuration below.
New or Affected Resource(s)
I'm not sure which existing resources are affected by this but new resources could be named:
Potential Terraform Configuration
References
The text was updated successfully, but these errors were encountered: