private Amazon.CodeDeploy.Model.RegisterApplicationRevisionResponse CallAWSServiceOperation(IAmazonCodeDeploy client, Amazon.CodeDeploy.Model.RegisterApplicationRevisionRequest request) { Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS CodeDeploy", "RegisterApplicationRevision"); try { #if DESKTOP return(client.RegisterApplicationRevision(request)); #elif CORECLR return(client.RegisterApplicationRevisionAsync(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.CodeDeploy.Model.RegisterApplicationRevisionRequest(); if (cmdletContext.ApplicationName != null) { request.ApplicationName = cmdletContext.ApplicationName; } if (cmdletContext.Description != null) { request.Description = cmdletContext.Description; } // populate Revision var requestRevisionIsNull = true; request.Revision = new Amazon.CodeDeploy.Model.RevisionLocation(); Amazon.CodeDeploy.RevisionLocationType requestRevision_revision_RevisionType = null; if (cmdletContext.Revision_RevisionType != null) { requestRevision_revision_RevisionType = cmdletContext.Revision_RevisionType; } if (requestRevision_revision_RevisionType != null) { request.Revision.RevisionType = requestRevision_revision_RevisionType; requestRevisionIsNull = false; } Amazon.CodeDeploy.Model.AppSpecContent requestRevision_revision_AppSpecContent = null; // populate AppSpecContent var requestRevision_revision_AppSpecContentIsNull = true; requestRevision_revision_AppSpecContent = new Amazon.CodeDeploy.Model.AppSpecContent(); System.String requestRevision_revision_AppSpecContent_appSpecContent_Content = null; if (cmdletContext.AppSpecContent_Content != null) { requestRevision_revision_AppSpecContent_appSpecContent_Content = cmdletContext.AppSpecContent_Content; } if (requestRevision_revision_AppSpecContent_appSpecContent_Content != null) { requestRevision_revision_AppSpecContent.Content = requestRevision_revision_AppSpecContent_appSpecContent_Content; requestRevision_revision_AppSpecContentIsNull = false; } System.String requestRevision_revision_AppSpecContent_appSpecContent_Sha256 = null; if (cmdletContext.AppSpecContent_Sha256 != null) { requestRevision_revision_AppSpecContent_appSpecContent_Sha256 = cmdletContext.AppSpecContent_Sha256; } if (requestRevision_revision_AppSpecContent_appSpecContent_Sha256 != null) { requestRevision_revision_AppSpecContent.Sha256 = requestRevision_revision_AppSpecContent_appSpecContent_Sha256; requestRevision_revision_AppSpecContentIsNull = false; } // determine if requestRevision_revision_AppSpecContent should be set to null if (requestRevision_revision_AppSpecContentIsNull) { requestRevision_revision_AppSpecContent = null; } if (requestRevision_revision_AppSpecContent != null) { request.Revision.AppSpecContent = requestRevision_revision_AppSpecContent; requestRevisionIsNull = false; } Amazon.CodeDeploy.Model.GitHubLocation requestRevision_revision_GitHubLocation = null; // populate GitHubLocation var requestRevision_revision_GitHubLocationIsNull = true; requestRevision_revision_GitHubLocation = new Amazon.CodeDeploy.Model.GitHubLocation(); System.String requestRevision_revision_GitHubLocation_gitHubLocation_CommitId = null; if (cmdletContext.GitHubLocation_CommitId != null) { requestRevision_revision_GitHubLocation_gitHubLocation_CommitId = cmdletContext.GitHubLocation_CommitId; } if (requestRevision_revision_GitHubLocation_gitHubLocation_CommitId != null) { requestRevision_revision_GitHubLocation.CommitId = requestRevision_revision_GitHubLocation_gitHubLocation_CommitId; requestRevision_revision_GitHubLocationIsNull = false; } System.String requestRevision_revision_GitHubLocation_gitHubLocation_Repository = null; if (cmdletContext.GitHubLocation_Repository != null) { requestRevision_revision_GitHubLocation_gitHubLocation_Repository = cmdletContext.GitHubLocation_Repository; } if (requestRevision_revision_GitHubLocation_gitHubLocation_Repository != null) { requestRevision_revision_GitHubLocation.Repository = requestRevision_revision_GitHubLocation_gitHubLocation_Repository; requestRevision_revision_GitHubLocationIsNull = false; } // determine if requestRevision_revision_GitHubLocation should be set to null if (requestRevision_revision_GitHubLocationIsNull) { requestRevision_revision_GitHubLocation = null; } if (requestRevision_revision_GitHubLocation != null) { request.Revision.GitHubLocation = requestRevision_revision_GitHubLocation; requestRevisionIsNull = false; } Amazon.CodeDeploy.Model.RawString requestRevision_revision_String = null; // populate String var requestRevision_revision_StringIsNull = true; requestRevision_revision_String = new Amazon.CodeDeploy.Model.RawString(); System.String requestRevision_revision_String_string_Content = null; if (cmdletContext.String_Content != null) { requestRevision_revision_String_string_Content = cmdletContext.String_Content; } if (requestRevision_revision_String_string_Content != null) { requestRevision_revision_String.Content = requestRevision_revision_String_string_Content; requestRevision_revision_StringIsNull = false; } System.String requestRevision_revision_String_string_Sha256 = null; if (cmdletContext.String_Sha256 != null) { requestRevision_revision_String_string_Sha256 = cmdletContext.String_Sha256; } if (requestRevision_revision_String_string_Sha256 != null) { requestRevision_revision_String.Sha256 = requestRevision_revision_String_string_Sha256; requestRevision_revision_StringIsNull = false; } // determine if requestRevision_revision_String should be set to null if (requestRevision_revision_StringIsNull) { requestRevision_revision_String = null; } if (requestRevision_revision_String != null) { request.Revision.String = requestRevision_revision_String; requestRevisionIsNull = false; } Amazon.CodeDeploy.Model.S3Location requestRevision_revision_S3Location = null; // populate S3Location var requestRevision_revision_S3LocationIsNull = true; requestRevision_revision_S3Location = new Amazon.CodeDeploy.Model.S3Location(); System.String requestRevision_revision_S3Location_s3Location_Bucket = null; if (cmdletContext.S3Location_Bucket != null) { requestRevision_revision_S3Location_s3Location_Bucket = cmdletContext.S3Location_Bucket; } if (requestRevision_revision_S3Location_s3Location_Bucket != null) { requestRevision_revision_S3Location.Bucket = requestRevision_revision_S3Location_s3Location_Bucket; requestRevision_revision_S3LocationIsNull = false; } Amazon.CodeDeploy.BundleType requestRevision_revision_S3Location_s3Location_BundleType = null; if (cmdletContext.S3Location_BundleType != null) { requestRevision_revision_S3Location_s3Location_BundleType = cmdletContext.S3Location_BundleType; } if (requestRevision_revision_S3Location_s3Location_BundleType != null) { requestRevision_revision_S3Location.BundleType = requestRevision_revision_S3Location_s3Location_BundleType; requestRevision_revision_S3LocationIsNull = false; } System.String requestRevision_revision_S3Location_s3Location_ETag = null; if (cmdletContext.S3Location_ETag != null) { requestRevision_revision_S3Location_s3Location_ETag = cmdletContext.S3Location_ETag; } if (requestRevision_revision_S3Location_s3Location_ETag != null) { requestRevision_revision_S3Location.ETag = requestRevision_revision_S3Location_s3Location_ETag; requestRevision_revision_S3LocationIsNull = false; } System.String requestRevision_revision_S3Location_s3Location_Key = null; if (cmdletContext.S3Location_Key != null) { requestRevision_revision_S3Location_s3Location_Key = cmdletContext.S3Location_Key; } if (requestRevision_revision_S3Location_s3Location_Key != null) { requestRevision_revision_S3Location.Key = requestRevision_revision_S3Location_s3Location_Key; requestRevision_revision_S3LocationIsNull = false; } System.String requestRevision_revision_S3Location_s3Location_Version = null; if (cmdletContext.S3Location_Version != null) { requestRevision_revision_S3Location_s3Location_Version = cmdletContext.S3Location_Version; } if (requestRevision_revision_S3Location_s3Location_Version != null) { requestRevision_revision_S3Location.Version = requestRevision_revision_S3Location_s3Location_Version; requestRevision_revision_S3LocationIsNull = false; } // determine if requestRevision_revision_S3Location should be set to null if (requestRevision_revision_S3LocationIsNull) { requestRevision_revision_S3Location = null; } if (requestRevision_revision_S3Location != null) { request.Revision.S3Location = requestRevision_revision_S3Location; requestRevisionIsNull = false; } // determine if request.Revision should be set to null if (requestRevisionIsNull) { request.Revision = null; } 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> /// Initiates the asynchronous execution of the RegisterApplicationRevision operation. /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the RegisterApplicationRevision operation on AmazonCodeDeployClient.</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 EndRegisterApplicationRevision /// operation.</returns> public IAsyncResult BeginRegisterApplicationRevision(RegisterApplicationRevisionRequest request, AsyncCallback callback, object state) { var marshaller = new RegisterApplicationRevisionRequestMarshaller(); var unmarshaller = RegisterApplicationRevisionResponseUnmarshaller.Instance; return BeginInvoke<RegisterApplicationRevisionRequest>(request, marshaller, unmarshaller, callback, state); }
/// <summary> /// Registers with AWS CodeDeploy a revision for the specified application. /// </summary> /// <param name="request">Container for the necessary parameters to execute the RegisterApplicationRevision service method.</param> /// /// <returns>The response from the RegisterApplicationRevision service method, as returned by CodeDeploy.</returns> /// <exception cref="Amazon.CodeDeploy.Model.ApplicationDoesNotExistException"> /// The application does not exist with the applicable IAM user or AWS account. /// </exception> /// <exception cref="Amazon.CodeDeploy.Model.ApplicationNameRequiredException"> /// The minimum number of required application names was not specified. /// </exception> /// <exception cref="Amazon.CodeDeploy.Model.DescriptionTooLongException"> /// The description that was provided is too long. /// </exception> /// <exception cref="Amazon.CodeDeploy.Model.InvalidApplicationNameException"> /// The application name was specified in an invalid format. /// </exception> /// <exception cref="Amazon.CodeDeploy.Model.InvalidRevisionException"> /// The revision was specified in an invalid format. /// </exception> /// <exception cref="Amazon.CodeDeploy.Model.RevisionRequiredException"> /// The revision ID was not specified. /// </exception> public RegisterApplicationRevisionResponse RegisterApplicationRevision(RegisterApplicationRevisionRequest request) { var marshaller = new RegisterApplicationRevisionRequestMarshaller(); var unmarshaller = RegisterApplicationRevisionResponseUnmarshaller.Instance; return Invoke<RegisterApplicationRevisionRequest,RegisterApplicationRevisionResponse>(request, marshaller, unmarshaller); }
/// <summary> /// Initiates the asynchronous execution of the RegisterApplicationRevision operation. /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the RegisterApplicationRevision 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<RegisterApplicationRevisionResponse> RegisterApplicationRevisionAsync(RegisterApplicationRevisionRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var marshaller = new RegisterApplicationRevisionRequestMarshaller(); var unmarshaller = RegisterApplicationRevisionResponseUnmarshaller.Instance; return InvokeAsync<RegisterApplicationRevisionRequest,RegisterApplicationRevisionResponse>(request, marshaller, unmarshaller, cancellationToken); }
public string Push(AmazonS3Client s3Client, AmazonCodeDeployClient codeDeployClient) { var zipFileName = string.Format("{0}.{1}.{2}.zip", ApplicationSetName, Version, BundleName); var tempPath = Path.Combine(Path.GetTempPath(), zipFileName + "." + Guid.NewGuid() + ".zip"); ZipFile.CreateFromDirectory(_bundleDirectory.FullName, tempPath, CompressionLevel.Optimal, false, Encoding.ASCII); var allTheBuckets = s3Client.ListBuckets(new ListBucketsRequest()).Buckets; if (!allTheBuckets.Exists(b => b.BucketName == Bucket)) { s3Client.PutBucket(new PutBucketRequest { BucketName = Bucket, UseClientRegion = true }); } var putResponse = s3Client.PutObject(new PutObjectRequest { BucketName = Bucket, Key = zipFileName, FilePath = tempPath, }); var registration = new RegisterApplicationRevisionRequest { ApplicationName = CodeDeployApplicationName, Description = "Revision " + Version, Revision = new RevisionLocation { RevisionType = RevisionLocationType.S3, S3Location = new S3Location { Bucket = Bucket, BundleType = BundleType.Zip, Key = zipFileName, Version = Version } } }; try { codeDeployClient.RegisterApplicationRevision(registration); } catch (ApplicationDoesNotExistException) { codeDeployClient.CreateApplication(new CreateApplicationRequest { ApplicationName = CodeDeployApplicationName }); codeDeployClient.RegisterApplicationRevision(registration); } return putResponse.ETag; }