public override void ExecuteCmdlet() { if (ParameterSetName.Equals(ParentObjectParameterSet)) { ResourceIdentifier resourceIdentifier = new ResourceIdentifier(ParentObject.Id); ResourceGroupName = resourceIdentifier.ResourceGroupName; ContainerName = resourceIdentifier.ResourceName; DatabaseName = ResourceIdentifierExtensions.GetSqlDatabaseName(resourceIdentifier); AccountName = ResourceIdentifierExtensions.GetDatabaseAccountName(resourceIdentifier); } else if (ParameterSetName.Equals(ObjectParameterSet)) { ResourceIdentifier resourceIdentifier = new ResourceIdentifier(InputObject.Id); ResourceGroupName = resourceIdentifier.ResourceGroupName; ContainerName = ResourceIdentifierExtensions.GetSqlContainerName(resourceIdentifier); DatabaseName = ResourceIdentifierExtensions.GetSqlDatabaseName(resourceIdentifier); AccountName = ResourceIdentifierExtensions.GetDatabaseAccountName(resourceIdentifier); Name = resourceIdentifier.ResourceName; } SqlStoredProcedureGetResults readSqlStoredProcedureGetResults = null; try { readSqlStoredProcedureGetResults = CosmosDBManagementClient.SqlResources.GetSqlStoredProcedure(ResourceGroupName, AccountName, DatabaseName, ContainerName, Name); } catch (CloudException e) { if (e.Response.StatusCode == System.Net.HttpStatusCode.NotFound) { throw new ResourceNotFoundException(message: string.Format(ExceptionMessage.NotFound, Name), innerException: e); } } if (string.IsNullOrEmpty(Body)) { Body = readSqlStoredProcedureGetResults.Resource.Body; } SqlStoredProcedureCreateUpdateParameters sqlStoredProcedureCreateUpdateParameters = new SqlStoredProcedureCreateUpdateParameters { Resource = new SqlStoredProcedureResource { Id = Name, Body = Body }, Options = new CreateUpdateOptions() { } //passing empty object as options cannot be null }; if (ShouldProcess(Name, "Updating an existing CosmosDB Sql Stored Procedure")) { SqlStoredProcedureGetResults sqlStoredProcedureGetResults = CosmosDBManagementClient.SqlResources.CreateUpdateSqlStoredProcedureWithHttpMessagesAsync(ResourceGroupName, AccountName, DatabaseName, ContainerName, Name, sqlStoredProcedureCreateUpdateParameters).GetAwaiter().GetResult().Body; WriteObject(new PSSqlStoredProcedureGetResults(sqlStoredProcedureGetResults)); } return; }
public override void ExecuteCmdlet() { if (ParameterSetName.Equals(ObjectParameterSet, StringComparison.Ordinal)) { ResourceIdentifier resourceIdentifier = new ResourceIdentifier(InputObject.Id); ResourceGroupName = resourceIdentifier.ResourceGroupName; Name = resourceIdentifier.ResourceName; AccountName = ResourceIdentifierExtensions.GetDatabaseAccountName(resourceIdentifier); DatabaseName = ResourceIdentifierExtensions.GetSqlDatabaseName(resourceIdentifier); ContainerName = ResourceIdentifierExtensions.GetSqlContainerName(resourceIdentifier); } if (ShouldProcess(Name, "Deleting CosmosDB Sql Stored Procedure")) { CosmosDBManagementClient.SqlResources.DeleteSqlStoredProcedureWithHttpMessagesAsync(ResourceGroupName, AccountName, DatabaseName, ContainerName, Name).GetAwaiter().GetResult(); if (PassThru) { WriteObject(true); } } return; }