private Amazon.DAX.Model.CreateClusterResponse CallAWSServiceOperation(IAmazonDAX client, Amazon.DAX.Model.CreateClusterRequest request) { Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon DynamoDB Accelerator (DAX)", "CreateCluster"); try { #if DESKTOP return(client.CreateCluster(request)); #elif CORECLR return(client.CreateClusterAsync(request).GetAwaiter().GetResult()); #else #error "Unknown build edition" #endif } catch (AmazonServiceException exc) { var webException = exc.InnerException as System.Net.WebException; if (webException != null) { throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); } throw; } }
public object Execute(ExecutorContext context) { var cmdletContext = context as CmdletContext; // create request var request = new Amazon.DAX.Model.CreateClusterRequest(); if (cmdletContext.AvailabilityZone != null) { request.AvailabilityZones = cmdletContext.AvailabilityZone; } if (cmdletContext.ClusterName != null) { request.ClusterName = cmdletContext.ClusterName; } if (cmdletContext.Description != null) { request.Description = cmdletContext.Description; } if (cmdletContext.IamRoleArn != null) { request.IamRoleArn = cmdletContext.IamRoleArn; } if (cmdletContext.NodeType != null) { request.NodeType = cmdletContext.NodeType; } if (cmdletContext.NotificationTopicArn != null) { request.NotificationTopicArn = cmdletContext.NotificationTopicArn; } if (cmdletContext.ParameterGroupName != null) { request.ParameterGroupName = cmdletContext.ParameterGroupName; } if (cmdletContext.PreferredMaintenanceWindow != null) { request.PreferredMaintenanceWindow = cmdletContext.PreferredMaintenanceWindow; } if (cmdletContext.ReplicationFactor != null) { request.ReplicationFactor = cmdletContext.ReplicationFactor.Value; } if (cmdletContext.SecurityGroupId != null) { request.SecurityGroupIds = cmdletContext.SecurityGroupId; } // populate SSESpecification var requestSSESpecificationIsNull = true; request.SSESpecification = new Amazon.DAX.Model.SSESpecification(); System.Boolean?requestSSESpecification_sSESpecification_Enabled = null; if (cmdletContext.SSESpecification_Enabled != null) { requestSSESpecification_sSESpecification_Enabled = cmdletContext.SSESpecification_Enabled.Value; } if (requestSSESpecification_sSESpecification_Enabled != null) { request.SSESpecification.Enabled = requestSSESpecification_sSESpecification_Enabled.Value; requestSSESpecificationIsNull = false; } // determine if request.SSESpecification should be set to null if (requestSSESpecificationIsNull) { request.SSESpecification = null; } if (cmdletContext.SubnetGroupName != null) { request.SubnetGroupName = cmdletContext.SubnetGroupName; } if (cmdletContext.Tag != null) { request.Tags = cmdletContext.Tag; } CmdletOutput output; // issue call var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); try { var response = CallAWSServiceOperation(client, request); object pipelineOutput = null; pipelineOutput = cmdletContext.Select(response, this); output = new CmdletOutput { PipelineOutput = pipelineOutput, ServiceResponse = response }; } catch (Exception e) { output = new CmdletOutput { ErrorResponse = e }; } return(output); }