private Amazon.OpsWorksCM.Model.CreateServerResponse CallAWSServiceOperation(IAmazonOpsWorksCM client, Amazon.OpsWorksCM.Model.CreateServerRequest request) { Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS OpsWorksCM", "CreateServer"); try { #if DESKTOP return(client.CreateServer(request)); #elif CORECLR return(client.CreateServerAsync(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.OpsWorksCM.Model.CreateServerRequest(); if (cmdletContext.AssociatePublicIpAddress != null) { request.AssociatePublicIpAddress = cmdletContext.AssociatePublicIpAddress.Value; } if (cmdletContext.BackupId != null) { request.BackupId = cmdletContext.BackupId; } if (cmdletContext.BackupRetentionCount != null) { request.BackupRetentionCount = cmdletContext.BackupRetentionCount.Value; } if (cmdletContext.CustomCertificate != null) { request.CustomCertificate = cmdletContext.CustomCertificate; } if (cmdletContext.CustomDomain != null) { request.CustomDomain = cmdletContext.CustomDomain; } if (cmdletContext.CustomPrivateKey != null) { request.CustomPrivateKey = cmdletContext.CustomPrivateKey; } if (cmdletContext.DisableAutomatedBackup != null) { request.DisableAutomatedBackup = cmdletContext.DisableAutomatedBackup.Value; } if (cmdletContext.Engine != null) { request.Engine = cmdletContext.Engine; } if (cmdletContext.EngineAttribute != null) { request.EngineAttributes = cmdletContext.EngineAttribute; } if (cmdletContext.EngineModel != null) { request.EngineModel = cmdletContext.EngineModel; } if (cmdletContext.EngineVersion != null) { request.EngineVersion = cmdletContext.EngineVersion; } if (cmdletContext.InstanceProfileArn != null) { request.InstanceProfileArn = cmdletContext.InstanceProfileArn; } if (cmdletContext.InstanceType != null) { request.InstanceType = cmdletContext.InstanceType; } if (cmdletContext.KeyPair != null) { request.KeyPair = cmdletContext.KeyPair; } if (cmdletContext.PreferredBackupWindow != null) { request.PreferredBackupWindow = cmdletContext.PreferredBackupWindow; } if (cmdletContext.PreferredMaintenanceWindow != null) { request.PreferredMaintenanceWindow = cmdletContext.PreferredMaintenanceWindow; } if (cmdletContext.SecurityGroupId != null) { request.SecurityGroupIds = cmdletContext.SecurityGroupId; } if (cmdletContext.ServerName != null) { request.ServerName = cmdletContext.ServerName; } if (cmdletContext.ServiceRoleArn != null) { request.ServiceRoleArn = cmdletContext.ServiceRoleArn; } if (cmdletContext.SubnetId != null) { request.SubnetIds = cmdletContext.SubnetId; } 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); }
/// <summary> /// Creates and immedately starts a new Server. The server can be used once it has reached /// the <code>HEALTHY</code> state. /// /// /// <para> /// This operation is asnychronous. /// </para> /// /// <para> /// A <code>LimitExceededException</code> is thrown then the maximum number of server /// backup is reached. A <code>ResourceAlreadyExistsException</code> is raise when a server /// with the same name already exists in the account. A <code>ResourceNotFoundException</code> /// is thrown when a backupId is passed, but the backup does not exist. A <code>ValidationException</code> /// is thrown when parameters of the request are not valid. /// </para> /// /// <para> /// By default 10 servers can be created. A <code>LimitExceededException</code> is raised /// when the limit is exceeded. /// </para> /// /// <para> /// When no security groups are provided by using <code>SecurityGroupIds</code>, AWS /// OpsWorks creates a new security group. This security group opens the Chef server to /// the world on TCP port 443. If a KeyName is present, SSH access is enabled. SSH is /// also open to the world on TCP port 22. /// </para> /// /// <para> /// By default, the Chef Server is accessible from any IP address. We recommend that you /// update your security group rules to allow access from known IP addresses and address /// ranges only. To edit security group rules, open Security Groups in the navigation /// pane of the EC2 management console. /// </para> /// </summary> /// <param name="request">Container for the necessary parameters to execute the CreateServer service method.</param> /// /// <returns>The response from the CreateServer service method, as returned by OpsWorksCM.</returns> /// <exception cref="Amazon.OpsWorksCM.Model.LimitExceededException"> /// The limit of servers or backups has been reached. /// </exception> /// <exception cref="Amazon.OpsWorksCM.Model.ResourceAlreadyExistsException"> /// The requested resource cannot be created because it already exists. /// </exception> /// <exception cref="Amazon.OpsWorksCM.Model.ResourceNotFoundException"> /// The requested resource does not exist, or access was denied. /// </exception> /// <exception cref="Amazon.OpsWorksCM.Model.ValidationException"> /// One or more of the provided request parameters are not valid. /// </exception> public CreateServerResponse CreateServer(CreateServerRequest request) { var marshaller = new CreateServerRequestMarshaller(); var unmarshaller = CreateServerResponseUnmarshaller.Instance; return Invoke<CreateServerRequest,CreateServerResponse>(request, marshaller, unmarshaller); }
/// <summary> /// Initiates the asynchronous execution of the CreateServer operation. /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the CreateServer operation.</param> /// <param name="cancellationToken"> /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// </param> /// <returns>The task object representing the asynchronous operation.</returns> public Task<CreateServerResponse> CreateServerAsync(CreateServerRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var marshaller = new CreateServerRequestMarshaller(); var unmarshaller = CreateServerResponseUnmarshaller.Instance; return InvokeAsync<CreateServerRequest,CreateServerResponse>(request, marshaller, unmarshaller, cancellationToken); }
/// <summary> /// Initiates the asynchronous execution of the CreateServer operation. /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the CreateServer operation on AmazonOpsWorksCMClient.</param> /// <param name="callback">An AsyncCallback delegate that is invoked when the operation completes.</param> /// <param name="state">A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property.</param> /// /// <returns>An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndCreateServer /// operation.</returns> public IAsyncResult BeginCreateServer(CreateServerRequest request, AsyncCallback callback, object state) { var marshaller = new CreateServerRequestMarshaller(); var unmarshaller = CreateServerResponseUnmarshaller.Instance; return BeginInvoke<CreateServerRequest>(request, marshaller, unmarshaller, callback, state); }