private Amazon.GameLift.Model.CreateBuildResponse CallAWSServiceOperation(IAmazonGameLift client, Amazon.GameLift.Model.CreateBuildRequest request) { Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon GameLift Service", "CreateBuild"); try { #if DESKTOP return(client.CreateBuild(request)); #elif CORECLR return(client.CreateBuildAsync(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.GameLift.Model.CreateBuildRequest(); if (cmdletContext.Name != null) { request.Name = cmdletContext.Name; } if (cmdletContext.OperatingSystem != null) { request.OperatingSystem = cmdletContext.OperatingSystem; } // populate StorageLocation var requestStorageLocationIsNull = true; request.StorageLocation = new Amazon.GameLift.Model.S3Location(); System.String requestStorageLocation_storageLocation_Bucket = null; if (cmdletContext.StorageLocation_Bucket != null) { requestStorageLocation_storageLocation_Bucket = cmdletContext.StorageLocation_Bucket; } if (requestStorageLocation_storageLocation_Bucket != null) { request.StorageLocation.Bucket = requestStorageLocation_storageLocation_Bucket; requestStorageLocationIsNull = false; } System.String requestStorageLocation_storageLocation_Key = null; if (cmdletContext.StorageLocation_Key != null) { requestStorageLocation_storageLocation_Key = cmdletContext.StorageLocation_Key; } if (requestStorageLocation_storageLocation_Key != null) { request.StorageLocation.Key = requestStorageLocation_storageLocation_Key; requestStorageLocationIsNull = false; } System.String requestStorageLocation_storageLocation_ObjectVersion = null; if (cmdletContext.StorageLocation_ObjectVersion != null) { requestStorageLocation_storageLocation_ObjectVersion = cmdletContext.StorageLocation_ObjectVersion; } if (requestStorageLocation_storageLocation_ObjectVersion != null) { request.StorageLocation.ObjectVersion = requestStorageLocation_storageLocation_ObjectVersion; requestStorageLocationIsNull = false; } System.String requestStorageLocation_storageLocation_RoleArn = null; if (cmdletContext.StorageLocation_RoleArn != null) { requestStorageLocation_storageLocation_RoleArn = cmdletContext.StorageLocation_RoleArn; } if (requestStorageLocation_storageLocation_RoleArn != null) { request.StorageLocation.RoleArn = requestStorageLocation_storageLocation_RoleArn; requestStorageLocationIsNull = false; } // determine if request.StorageLocation should be set to null if (requestStorageLocationIsNull) { request.StorageLocation = null; } if (cmdletContext.Tag != null) { request.Tags = cmdletContext.Tag; } if (cmdletContext.Version != null) { request.Version = cmdletContext.Version; } 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> /// Initializes a new build record and generates information required to upload a game /// build to Amazon GameLift. Once the build record has been created and is in an INITIALIZED /// state, you can upload your game build. /// /// <important> /// <para> /// To create a build, use the CLI command <code>upload-build</code>, which creates a /// new build record and uploads the build files in one step. (See the <a href="http://docs.aws.amazon.com/gamelift/latest/developerguide/">Amazon /// GameLift Developer Guide</a> for more details on the CLI and the upload process.) /// Call the <code>CreateBuild</code> action only if you have your own Amazon Simple Storage /// Service (Amazon S3) client and need to manually upload your build files. /// </para> /// </important> /// <para> /// To create a new build, optionally specify a build name and version. This metadata /// is stored with other properties in the build record and is displayed in the GameLift /// console (but not visible to players). If successful, this action returns the newly /// created build record along with an Amazon S3 storage location and AWS account credentials. /// Use the location and credentials to upload your game build. /// </para> /// </summary> /// <param name="request">Container for the necessary parameters to execute the CreateBuild service method.</param> /// /// <returns>The response from the CreateBuild service method, as returned by GameLift.</returns> /// <exception cref="Amazon.GameLift.Model.ConflictException"> /// The requested operation would cause a conflict with the current state of a service /// resource associated with the request. Please resolve the conflict before retrying /// this request. /// </exception> /// <exception cref="Amazon.GameLift.Model.InternalServiceException"> /// The service encountered an unrecoverable internal failure while processing the request. /// Such requests can be retried by clients, either immediately or after a back-off period. /// </exception> /// <exception cref="Amazon.GameLift.Model.InvalidRequestException"> /// One or more parameters specified as part of the request are invalid. Please correct /// the invalid parameters before retrying. /// </exception> /// <exception cref="Amazon.GameLift.Model.UnauthorizedException"> /// The client failed authentication. Such requests should not be retried without valid /// authentication credentials. /// </exception> public CreateBuildResponse CreateBuild(CreateBuildRequest request) { var marshaller = new CreateBuildRequestMarshaller(); var unmarshaller = CreateBuildResponseUnmarshaller.Instance; return Invoke<CreateBuildRequest,CreateBuildResponse>(request, marshaller, unmarshaller); }
/// <summary> /// Initiates the asynchronous execution of the CreateBuild operation. /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the CreateBuild operation on AmazonGameLiftClient.</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 EndCreateBuild /// operation.</returns> public IAsyncResult BeginCreateBuild(CreateBuildRequest request, AsyncCallback callback, object state) { var marshaller = new CreateBuildRequestMarshaller(); var unmarshaller = CreateBuildResponseUnmarshaller.Instance; return BeginInvoke<CreateBuildRequest>(request, marshaller, unmarshaller, callback, state); }
/// <summary> /// Initiates the asynchronous execution of the CreateBuild operation. /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the CreateBuild 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<CreateBuildResponse> CreateBuildAsync(CreateBuildRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var marshaller = new CreateBuildRequestMarshaller(); var unmarshaller = CreateBuildResponseUnmarshaller.Instance; return InvokeAsync<CreateBuildRequest,CreateBuildResponse>(request, marshaller, unmarshaller, cancellationToken); }