public override void ExecuteCmdlet() { if (ParameterSetName.Equals(ParentObjectParameterSet, StringComparison.Ordinal)) { ResourceIdentifier resourceIdentifier = new ResourceIdentifier(ParentObject.Id); ResourceGroupName = resourceIdentifier.ResourceGroupName; KeyspaceName = resourceIdentifier.ResourceName; AccountName = ResourceIdentifierExtensions.GetDatabaseAccountName(resourceIdentifier); } if (!string.IsNullOrEmpty(Name)) { CassandraTableGetResults cassandraTableGetResults = CosmosDBManagementClient.CassandraResources.GetCassandraTableWithHttpMessagesAsync(ResourceGroupName, AccountName, KeyspaceName, Name).GetAwaiter().GetResult().Body; WriteObject(new PSCassandraTableGetResults(cassandraTableGetResults)); if (Detailed) { ThroughputSettingsGetResults throughputSettingsGetResults = CosmosDBManagementClient.CassandraResources.GetCassandraTableThroughputWithHttpMessagesAsync(ResourceGroupName, AccountName, KeyspaceName, Name).GetAwaiter().GetResult().Body; WriteObject(throughputSettingsGetResults); } } else { IEnumerable <CassandraTableGetResults> cassandraTables = CosmosDBManagementClient.CassandraResources.ListCassandraTablesWithHttpMessagesAsync(ResourceGroupName, AccountName, KeyspaceName).GetAwaiter().GetResult().Body; foreach (CassandraTableGetResults cassandraTable in cassandraTables) { WriteObject(new PSCassandraTableGetResults(cassandraTable)); } } return; }
public PSCassandraTableGetResults(CassandraTableGetResults cassandraTableGetResults) { Name = cassandraTableGetResults.Name; Id = cassandraTableGetResults.Id; Tags = cassandraTableGetResults.Tags; Location = cassandraTableGetResults.Location; Resource = new PSCassandraTableGetPropertiesResource(cassandraTableGetResults.Resource); }
public override void ExecuteCmdlet() { if (ParameterSetName.Equals(ParentObjectParameterSet, StringComparison.Ordinal)) { ResourceIdentifier resourceIdentifier = new ResourceIdentifier(ParentObject.Id); ResourceGroupName = resourceIdentifier.ResourceGroupName; KeyspaceName = resourceIdentifier.ResourceName; AccountName = ResourceIdentifierExtensions.GetDatabaseAccountName(resourceIdentifier); } CassandraTableGetResults readCassandraTableGetResults = null; try { readCassandraTableGetResults = CosmosDBManagementClient.CassandraResources.GetCassandraTable(ResourceGroupName, AccountName, KeyspaceName, Name); } catch (CloudException e) { if (e.Response.StatusCode != System.Net.HttpStatusCode.NotFound) { throw; } } if (readCassandraTableGetResults != null) { throw new ConflictingResourceException(message: string.Format(ExceptionMessage.Conflict, Name)); } CreateUpdateOptions options = new CreateUpdateOptions(); if (Throughput != null) { options.Throughput = Throughput.ToString(); } CassandraTableResource cassandraTableResource = new CassandraTableResource { Id = Name, DefaultTtl = TtlInSeconds }; cassandraTableResource.Schema = PSCassandraSchema.ToSDKModel(Schema); CassandraTableCreateUpdateParameters cassandraTableCreateUpdateParameters = new CassandraTableCreateUpdateParameters { Resource = cassandraTableResource, Options = options }; if (ShouldProcess(Name, "Creating a new CosmosDB Cassandra Table")) { CassandraTableGetResults cassandraTableGetResults = CosmosDBManagementClient.CassandraResources.CreateUpdateCassandraTableWithHttpMessagesAsync(ResourceGroupName, AccountName, KeyspaceName, Name, cassandraTableCreateUpdateParameters).GetAwaiter().GetResult().Body; WriteObject(new PSCassandraTableGetResults(cassandraTableGetResults)); } return; }
private void VerifyCassandraTableCreation(CassandraTableGetResults cassandraTableGetResults, CassandraTableCreateUpdateParameters cassandraTableCreateUpdateParameters) { Assert.Equal(cassandraTableGetResults.Resource.Id, cassandraTableCreateUpdateParameters.Resource.Id); Assert.Equal(cassandraTableGetResults.Resource.Schema.Columns.Count, cassandraTableCreateUpdateParameters.Resource.Schema.Columns.Count); for (int i = 0; i < cassandraTableGetResults.Resource.Schema.Columns.Count; i++) { Assert.Equal(cassandraTableGetResults.Resource.Schema.Columns[i].Name, cassandraTableCreateUpdateParameters.Resource.Schema.Columns[i].Name); Assert.Equal(cassandraTableGetResults.Resource.Schema.Columns[i].Type, cassandraTableCreateUpdateParameters.Resource.Schema.Columns[i].Type); } Assert.Equal(cassandraTableGetResults.Resource.Schema.ClusterKeys.Count, cassandraTableCreateUpdateParameters.Resource.Schema.ClusterKeys.Count); for (int i = 0; i < cassandraTableGetResults.Resource.Schema.ClusterKeys.Count; i++) { Assert.Equal(cassandraTableGetResults.Resource.Schema.ClusterKeys[i].Name, cassandraTableCreateUpdateParameters.Resource.Schema.ClusterKeys[i].Name); } Assert.Equal(cassandraTableGetResults.Resource.Schema.PartitionKeys.Count, cassandraTableCreateUpdateParameters.Resource.Schema.PartitionKeys.Count); for (int i = 0; i < cassandraTableGetResults.Resource.Schema.PartitionKeys.Count; i++) { Assert.Equal(cassandraTableGetResults.Resource.Schema.PartitionKeys[i].Name, cassandraTableCreateUpdateParameters.Resource.Schema.PartitionKeys[i].Name); } }
public override void ExecuteCmdlet() { if (ParameterSetName.Equals(ParentObjectParameterSet, StringComparison.Ordinal)) { ResourceIdentifier resourceIdentifier = new ResourceIdentifier(InputObject.Id); ResourceGroupName = resourceIdentifier.ResourceGroupName; KeyspaceName = resourceIdentifier.ResourceName; AccountName = ResourceIdentifierExtensions.GetDatabaseAccountName(resourceIdentifier); } IDictionary <string, string> options = new Dictionary <string, string>(); if (Throughput != null) { options.Add("Throughput", Throughput.ToString()); } CassandraTableResource cassandraTableResource = new CassandraTableResource { Id = Name, DefaultTtl = TtlInSeconds }; cassandraTableResource.Schema = PSCassandraSchema.ConvertPSCassandraSchemaToCassandraSchema(Schema); CassandraTableCreateUpdateParameters cassandraTableCreateUpdateParameters = new CassandraTableCreateUpdateParameters { Resource = cassandraTableResource, Options = options }; if (ShouldProcess(Name, "Setting CosmosDB Cassandra Table")) { CassandraTableGetResults cassandraTableGetResults = CosmosDBManagementClient.CassandraResources.CreateUpdateCassandraTableWithHttpMessagesAsync(ResourceGroupName, AccountName, KeyspaceName, Name, cassandraTableCreateUpdateParameters).GetAwaiter().GetResult().Body; WriteObject(new PSCassandraTableGetResults(cassandraTableGetResults)); } return; }
public void CassandraCRUDTests() { var handler = new RecordedDelegatingHandler { StatusCodeToReturn = HttpStatusCode.OK }; using (MockContext context = MockContext.Start(this.GetType())) { // Create client CosmosDBManagementClient cosmosDBManagementClient = CosmosDBTestUtilities.GetCosmosDBClient(context, handler); bool isDatabaseNameExists = cosmosDBManagementClient.DatabaseAccounts.CheckNameExistsWithHttpMessagesAsync(databaseAccountName).GetAwaiter().GetResult().Body; if (!isDatabaseNameExists) { return; } CassandraKeyspaceCreateUpdateParameters cassandraKeyspaceCreateUpdateParameters = new CassandraKeyspaceCreateUpdateParameters { Resource = new CassandraKeyspaceResource { Id = keyspaceName }, Options = new CreateUpdateOptions() }; CassandraKeyspaceGetResults cassandraKeyspaceGetResults = cosmosDBManagementClient.CassandraResources.CreateUpdateCassandraKeyspaceWithHttpMessagesAsync(resourceGroupName, databaseAccountName, keyspaceName, cassandraKeyspaceCreateUpdateParameters).GetAwaiter().GetResult().Body; Assert.NotNull(cassandraKeyspaceGetResults); Assert.Equal(keyspaceName, cassandraKeyspaceGetResults.Name); CassandraKeyspaceGetResults cassandraKeyspaceGetResults1 = cosmosDBManagementClient.CassandraResources.GetCassandraKeyspaceWithHttpMessagesAsync(resourceGroupName, databaseAccountName, keyspaceName).GetAwaiter().GetResult().Body; Assert.NotNull(cassandraKeyspaceGetResults1); Assert.Equal(keyspaceName, cassandraKeyspaceGetResults1.Name); VerifyEqualCassandraDatabases(cassandraKeyspaceGetResults, cassandraKeyspaceGetResults1); CassandraKeyspaceCreateUpdateParameters cassandraKeyspaceCreateUpdateParameters2 = new CassandraKeyspaceCreateUpdateParameters { Location = location, Tags = tags, Resource = new CassandraKeyspaceResource { Id = keyspaceName2 }, Options = new CreateUpdateOptions { Throughput = sampleThroughput } }; CassandraKeyspaceGetResults cassandraKeyspaceGetResults2 = cosmosDBManagementClient.CassandraResources.CreateUpdateCassandraKeyspaceWithHttpMessagesAsync(resourceGroupName, databaseAccountName, keyspaceName2, cassandraKeyspaceCreateUpdateParameters2).GetAwaiter().GetResult().Body; Assert.NotNull(cassandraKeyspaceGetResults2); Assert.Equal(keyspaceName2, cassandraKeyspaceGetResults2.Name); IEnumerable <CassandraKeyspaceGetResults> cassandraKeyspaces = cosmosDBManagementClient.CassandraResources.ListCassandraKeyspacesWithHttpMessagesAsync(resourceGroupName, databaseAccountName).GetAwaiter().GetResult().Body; Assert.NotNull(cassandraKeyspaces); ThroughputSettingsGetResults throughputSettingsGetResults = cosmosDBManagementClient.CassandraResources.GetCassandraKeyspaceThroughputWithHttpMessagesAsync(resourceGroupName, databaseAccountName, keyspaceName2).GetAwaiter().GetResult().Body; Assert.NotNull(throughputSettingsGetResults); Assert.NotNull(throughputSettingsGetResults.Name); Assert.Equal(throughputSettingsGetResults.Resource.Throughput, sampleThroughput); Assert.Equal(cassandraThroughputType, throughputSettingsGetResults.Type); CassandraTableCreateUpdateParameters cassandraTableCreateUpdateParameters = new CassandraTableCreateUpdateParameters { Resource = new CassandraTableResource { Id = tableName, Schema = new CassandraSchema { Columns = new List <Column> { new Column { Name = "columnA", Type = "int" }, new Column { Name = "columnB", Type = "ascii" } }, ClusterKeys = new List <ClusterKey> { new ClusterKey { Name = "columnB", OrderBy = "Asc" } }, PartitionKeys = new List <CassandraPartitionKey> { new CassandraPartitionKey { Name = "columnA" } } } }, Options = new CreateUpdateOptions() }; CassandraTableGetResults cassandraTableGetResults = cosmosDBManagementClient.CassandraResources.CreateUpdateCassandraTableWithHttpMessagesAsync(resourceGroupName, databaseAccountName, keyspaceName, tableName, cassandraTableCreateUpdateParameters).GetAwaiter().GetResult().Body; Assert.NotNull(cassandraTableGetResults); VerifyCassandraTableCreation(cassandraTableGetResults, cassandraTableCreateUpdateParameters); IEnumerable <CassandraTableGetResults> cassandraTables = cosmosDBManagementClient.CassandraResources.ListCassandraTablesWithHttpMessagesAsync(resourceGroupName, databaseAccountName, keyspaceName).GetAwaiter().GetResult().Body; Assert.NotNull(cassandraTables); foreach (CassandraTableGetResults cassandraTable in cassandraTables) { cosmosDBManagementClient.CassandraResources.DeleteCassandraTableWithHttpMessagesAsync(resourceGroupName, databaseAccountName, keyspaceName, cassandraTable.Name); } foreach (CassandraKeyspaceGetResults cassandraKeyspace in cassandraKeyspaces) { cosmosDBManagementClient.CassandraResources.DeleteCassandraKeyspaceWithHttpMessagesAsync(resourceGroupName, databaseAccountName, cassandraKeyspace.Name); } } }
public void CassandraCRUDTests() { using (var context = MockContext.Start(this.GetType())) { fixture.Init(context); var cassandraClient = this.fixture.CosmosDBManagementClient.CassandraResources; var databaseAccountName = this.fixture.GetDatabaseAccountName(TestFixture.AccountType.Cassandra); const string keyspaceName = "keyspaceName2510"; const string keyspaceName2 = "keyspaceName22510"; const string tableName = "tableName2510"; const string cassandraThroughputType = "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/throughputSettings"; const int sampleThroughput = 700; var cassandraKeyspaceCreateUpdateParameters = new CassandraKeyspaceCreateUpdateParameters { Resource = new CassandraKeyspaceResource { Id = keyspaceName }, Options = new CreateUpdateOptions() }; var cassandraKeyspaceGetResults = cassandraClient.CreateUpdateCassandraKeyspaceWithHttpMessagesAsync( this.fixture.ResourceGroupName, databaseAccountName, keyspaceName, cassandraKeyspaceCreateUpdateParameters ).GetAwaiter().GetResult().Body; Assert.NotNull(cassandraKeyspaceGetResults); Assert.Equal(keyspaceName, cassandraKeyspaceGetResults.Name); var cassandraKeyspaceGetResults1 = cassandraClient.GetCassandraKeyspaceWithHttpMessagesAsync( this.fixture.ResourceGroupName, databaseAccountName, keyspaceName ).GetAwaiter().GetResult().Body; Assert.NotNull(cassandraKeyspaceGetResults1); Assert.Equal(keyspaceName, cassandraKeyspaceGetResults1.Name); VerifyEqualCassandraDatabases(cassandraKeyspaceGetResults, cassandraKeyspaceGetResults1); var cassandraKeyspaceCreateUpdateParameters2 = new CassandraKeyspaceCreateUpdateParameters { Location = this.fixture.Location, Tags = new Dictionary <string, string> { { "key3", "value3" }, { "key4", "value4" } }, Resource = new CassandraKeyspaceResource { Id = keyspaceName2 }, Options = new CreateUpdateOptions { Throughput = sampleThroughput } }; var cassandraKeyspaceGetResults2 = cassandraClient.CreateUpdateCassandraKeyspaceWithHttpMessagesAsync( this.fixture.ResourceGroupName, databaseAccountName, keyspaceName2, cassandraKeyspaceCreateUpdateParameters2 ).GetAwaiter().GetResult().Body; Assert.NotNull(cassandraKeyspaceGetResults2); Assert.Equal(keyspaceName2, cassandraKeyspaceGetResults2.Name); var cassandraKeyspaces = cassandraClient.ListCassandraKeyspacesWithHttpMessagesAsync( this.fixture.ResourceGroupName, databaseAccountName ).GetAwaiter().GetResult().Body; Assert.NotNull(cassandraKeyspaces); var throughputSettingsGetResults = cassandraClient.GetCassandraKeyspaceThroughputWithHttpMessagesAsync( this.fixture.ResourceGroupName, databaseAccountName, keyspaceName2 ).GetAwaiter().GetResult().Body; Assert.NotNull(throughputSettingsGetResults); Assert.NotNull(throughputSettingsGetResults.Name); Assert.Equal(throughputSettingsGetResults.Resource.Throughput, sampleThroughput); Assert.Equal(cassandraThroughputType, throughputSettingsGetResults.Type); var cassandraTableCreateUpdateParameters = new CassandraTableCreateUpdateParameters { Resource = new CassandraTableResource { Id = tableName, Schema = new CassandraSchema { Columns = new List <Column> { new Column { Name = "columnA", Type = "int" }, new Column { Name = "columnB", Type = "ascii" } }, ClusterKeys = new List <ClusterKey> { new ClusterKey { Name = "columnB", OrderBy = "Asc" } }, PartitionKeys = new List <CassandraPartitionKey> { new CassandraPartitionKey { Name = "columnA" } } } }, Options = new CreateUpdateOptions() }; CassandraTableGetResults cassandraTableGetResults = cassandraClient.CreateUpdateCassandraTableWithHttpMessagesAsync( this.fixture.ResourceGroupName, databaseAccountName, keyspaceName, tableName, cassandraTableCreateUpdateParameters ).GetAwaiter().GetResult().Body; Assert.NotNull(cassandraTableGetResults); VerifyCassandraTableCreation(cassandraTableGetResults, cassandraTableCreateUpdateParameters); var cassandraTables = cassandraClient.ListCassandraTablesWithHttpMessagesAsync( this.fixture.ResourceGroupName, databaseAccountName, keyspaceName ).GetAwaiter().GetResult().Body; Assert.NotNull(cassandraTables); foreach (CassandraTableGetResults cassandraTable in cassandraTables) { cassandraClient.DeleteCassandraTableWithHttpMessagesAsync( this.fixture.ResourceGroupName, databaseAccountName, keyspaceName, cassandraTable.Name ); } foreach (CassandraKeyspaceGetResults cassandraKeyspace in cassandraKeyspaces) { cassandraClient.DeleteCassandraKeyspaceWithHttpMessagesAsync( this.fixture.ResourceGroupName, databaseAccountName, cassandraKeyspace.Name ); } } }
public void CassandraCRUDTests() { var handler1 = new RecordedDelegatingHandler { StatusCodeToReturn = HttpStatusCode.OK }; var handler2 = new RecordedDelegatingHandler { StatusCodeToReturn = HttpStatusCode.OK }; using (MockContext context = MockContext.Start(this.GetType())) { // Create client CosmosDBManagementClient cosmosDBManagementClient = CosmosDBTestUtilities.GetCosmosDBClient(context, handler1); ResourceManagementClient resourcesClient = CosmosDBTestUtilities.GetResourceManagementClient(context, handler2); string resourceGroupName = "CosmosDBResourceGroup2510"; string databaseAccountName = "db2725"; bool isDatabaseNameExists = cosmosDBManagementClient.DatabaseAccounts.CheckNameExistsWithHttpMessagesAsync(databaseAccountName).GetAwaiter().GetResult().Body; DatabaseAccountGetResults databaseAccount = null; if (!isDatabaseNameExists) { return; // SDK doesnt support creation of Cassandra, Table, Gremlin Accounts, use accounts created using Azure portal // List<Location> locations = new List<Location>(); // locations.Add(new Location(locationName: "East US")); // DatabaseAccountCreateUpdateParameters databaseAccountCreateUpdateParameters = new DatabaseAccountCreateUpdateParameters // { // Location = "EAST US", // Locations = locations // }; //databaseAccount = cosmosDBManagementClient.DatabaseAccounts.CreateOrUpdateWithHttpMessagesAsync(resourceGroupName, databaseAccountName, databaseAccountCreateUpdateParameters).GetAwaiter().GetResult().Body; } string keyspaceName = "keyspaceName2510"; string keyspaceName2 = "keyspaceName22510"; CassandraKeyspaceCreateUpdateParameters cassandraKeyspaceCreateUpdateParameters = new CassandraKeyspaceCreateUpdateParameters { Resource = new CassandraKeyspaceResource { Id = keyspaceName }, Options = new Dictionary <string, string>() { { "foo", "bar" } } }; CassandraKeyspaceGetResults cassandraKeyspaceGetResults = cosmosDBManagementClient.CassandraResources.CreateUpdateCassandraKeyspaceWithHttpMessagesAsync(resourceGroupName, databaseAccountName, keyspaceName, cassandraKeyspaceCreateUpdateParameters).GetAwaiter().GetResult().Body; Assert.NotNull(cassandraKeyspaceGetResults); Assert.Equal(keyspaceName, cassandraKeyspaceGetResults.Name); CassandraKeyspaceGetResults cassandraKeyspaceGetResults1 = cosmosDBManagementClient.CassandraResources.GetCassandraKeyspaceWithHttpMessagesAsync(resourceGroupName, databaseAccountName, keyspaceName).GetAwaiter().GetResult().Body; Assert.NotNull(cassandraKeyspaceGetResults1); Assert.Equal(keyspaceName, cassandraKeyspaceGetResults1.Name); VerifyEqualCassandraDatabases(cassandraKeyspaceGetResults, cassandraKeyspaceGetResults1); CassandraKeyspaceCreateUpdateParameters cassandraKeyspaceCreateUpdateParameters2 = new CassandraKeyspaceCreateUpdateParameters { Location = "EAST US", Tags = new Dictionary <string, string> { { "key3", "value3" }, { "key4", "value4" } }, Resource = new CassandraKeyspaceResource { Id = keyspaceName2 }, Options = new Dictionary <string, string>() { { "Throughput", "700" } } }; CassandraKeyspaceGetResults cassandraKeyspaceGetResults2 = cosmosDBManagementClient.CassandraResources.CreateUpdateCassandraKeyspaceWithHttpMessagesAsync(resourceGroupName, databaseAccountName, keyspaceName2, cassandraKeyspaceCreateUpdateParameters2).GetAwaiter().GetResult().Body; Assert.NotNull(cassandraKeyspaceGetResults2); Assert.Equal(keyspaceName2, cassandraKeyspaceGetResults2.Name); IEnumerable <CassandraKeyspaceGetResults> cassandraKeyspaces = cosmosDBManagementClient.CassandraResources.ListCassandraKeyspacesWithHttpMessagesAsync(resourceGroupName, databaseAccountName).GetAwaiter().GetResult().Body; Assert.NotNull(cassandraKeyspaces); ThroughputSettingsGetResults throughputSettingsGetResults = cosmosDBManagementClient.CassandraResources.GetCassandraKeyspaceThroughputWithHttpMessagesAsync(resourceGroupName, databaseAccountName, keyspaceName2).GetAwaiter().GetResult().Body; Assert.NotNull(throughputSettingsGetResults); Assert.NotNull(throughputSettingsGetResults.Name); Assert.Equal("Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/throughputSettings", throughputSettingsGetResults.Type); string tableName = "tableName2510"; CassandraTableCreateUpdateParameters cassandraTableCreateUpdateParameters = new CassandraTableCreateUpdateParameters { Resource = new CassandraTableResource { Id = tableName, Schema = new CassandraSchema { Columns = new List <Column> { new Column { Name = "columnA", Type = "int" }, new Column { Name = "columnB", Type = "ascii" } }, ClusterKeys = new List <ClusterKey> { new ClusterKey { Name = "columnB", OrderBy = "Asc" } }, PartitionKeys = new List <CassandraPartitionKey> { new CassandraPartitionKey { Name = "columnA" } } } }, Options = new Dictionary <string, string>() { { "foo", "bar" } } }; CassandraTableGetResults cassandraTableGetResults = cosmosDBManagementClient.CassandraResources.CreateUpdateCassandraTableWithHttpMessagesAsync(resourceGroupName, databaseAccountName, keyspaceName, tableName, cassandraTableCreateUpdateParameters).GetAwaiter().GetResult().Body; Assert.NotNull(cassandraTableGetResults); IEnumerable <CassandraTableGetResults> cassandraTables = cosmosDBManagementClient.CassandraResources.ListCassandraTablesWithHttpMessagesAsync(resourceGroupName, databaseAccountName, keyspaceName).GetAwaiter().GetResult().Body; Assert.NotNull(cassandraTables); foreach (CassandraTableGetResults cassandraTable in cassandraTables) { cosmosDBManagementClient.CassandraResources.DeleteCassandraTableWithHttpMessagesAsync(resourceGroupName, databaseAccountName, keyspaceName, cassandraTable.Name); } foreach (CassandraKeyspaceGetResults cassandraKeyspace in cassandraKeyspaces) { cosmosDBManagementClient.CassandraResources.DeleteCassandraKeyspaceWithHttpMessagesAsync(resourceGroupName, databaseAccountName, cassandraKeyspace.Name); } } }
public override void ExecuteCmdlet() { if (ParameterSetName.Equals(ParentObjectParameterSet, StringComparison.Ordinal)) { ResourceIdentifier resourceIdentifier = new ResourceIdentifier(ParentObject.Id); ResourceGroupName = resourceIdentifier.ResourceGroupName; KeyspaceName = resourceIdentifier.ResourceName; AccountName = ResourceIdentifierExtensions.GetDatabaseAccountName(resourceIdentifier); } else if (ParameterSetName.Equals(ObjectParameterSet, StringComparison.Ordinal)) { ResourceIdentifier resourceIdentifier = new ResourceIdentifier(InputObject.Id); ResourceGroupName = resourceIdentifier.ResourceGroupName; Name = resourceIdentifier.ResourceName; KeyspaceName = ResourceIdentifierExtensions.GetCassandraKeyspaceName(resourceIdentifier); AccountName = ResourceIdentifierExtensions.GetDatabaseAccountName(resourceIdentifier); } CassandraTableGetResults readCassandraTableGetResults = null; try { readCassandraTableGetResults = CosmosDBManagementClient.CassandraResources.GetCassandraTable(ResourceGroupName, AccountName, KeyspaceName, Name); } catch (CloudException e) { if (e.Response.StatusCode == System.Net.HttpStatusCode.NotFound) { throw new ResourceNotFoundException(message: string.Format(ExceptionMessage.NotFound, Name), innerException: e); } } CassandraTableResource cassandraTableResource = PopulateCassandraTableResource(readCassandraTableGetResults.Resource); if (TtlInSeconds != null) { cassandraTableResource.DefaultTtl = TtlInSeconds; } if (Schema != null) { cassandraTableResource.Schema = PSCassandraSchema.ToSDKModel(Schema); } if (AnalyticalStorageTtl != null) { cassandraTableResource.AnalyticalStorageTtl = AnalyticalStorageTtl; } CreateUpdateOptions options = ThroughputHelper.PopulateCreateUpdateOptions(Throughput, AutoscaleMaxThroughput); CassandraTableCreateUpdateParameters cassandraTableCreateUpdateParameters = new CassandraTableCreateUpdateParameters { Resource = cassandraTableResource, Options = options, }; if (ShouldProcess(Name, "Updating an existing CosmosDB Cassandra Table")) { CassandraTableGetResults cassandraTableGetResults = CosmosDBManagementClient.CassandraResources.CreateUpdateCassandraTableWithHttpMessagesAsync(ResourceGroupName, AccountName, KeyspaceName, Name, cassandraTableCreateUpdateParameters).GetAwaiter().GetResult().Body; WriteObject(new PSCassandraTableGetResults(cassandraTableGetResults)); } return; }