/* * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ /* * Do not modify this file. This file is generated from the ecr-2015-09-21.normal.json service model. */ using System; using System.Runtime.ExceptionServices; using System.Threading; using System.Threading.Tasks; using System.Collections.Generic; using System.Net; using Amazon.ECR.Model; using Amazon.ECR.Model.Internal.MarshallTransformations; using Amazon.ECR.Internal; using Amazon.Runtime; using Amazon.Runtime.Internal; using Amazon.Runtime.Internal.Auth; using Amazon.Runtime.Internal.Transform; namespace Amazon.ECR { /// /// Implementation for accessing ECR /// /// Amazon Elastic Container Registry /// /// Amazon Elastic Container Registry (Amazon ECR) is a managed container image registry /// service. Customers can use the familiar Docker CLI, or their preferred client, to /// push, pull, and manage images. Amazon ECR provides a secure, scalable, and reliable /// registry for your Docker or Open Container Initiative (OCI) images. Amazon ECR supports /// private repositories with resource-based permissions using IAM so that specific users /// or Amazon EC2 instances can access repositories and images. /// /// /// /// Amazon ECR has service endpoints in each supported Region. For more information, see /// Amazon ECR endpoints /// in the Amazon Web Services General Reference. /// /// public partial class AmazonECRClient : AmazonServiceClient, IAmazonECR { private static IServiceMetadata serviceMetadata = new AmazonECRMetadata(); #region Constructors /// /// Constructs AmazonECRClient with the credentials loaded from the application's /// default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance. /// /// Example App.config with credentials set. /// /// <?xml version="1.0" encoding="utf-8" ?> /// <configuration> /// <appSettings> /// <add key="AWSProfileName" value="AWS Default"/> /// </appSettings> /// </configuration> /// /// /// public AmazonECRClient() : base(FallbackCredentialsFactory.GetCredentials(), new AmazonECRConfig()) { } /// /// Constructs AmazonECRClient with the credentials loaded from the application's /// default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance. /// /// Example App.config with credentials set. /// /// <?xml version="1.0" encoding="utf-8" ?> /// <configuration> /// <appSettings> /// <add key="AWSProfileName" value="AWS Default"/> /// </appSettings> /// </configuration> /// /// /// /// The region to connect. public AmazonECRClient(RegionEndpoint region) : base(FallbackCredentialsFactory.GetCredentials(), new AmazonECRConfig{RegionEndpoint = region}) { } /// /// Constructs AmazonECRClient with the credentials loaded from the application's /// default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance. /// /// Example App.config with credentials set. /// /// <?xml version="1.0" encoding="utf-8" ?> /// <configuration> /// <appSettings> /// <add key="AWSProfileName" value="AWS Default"/> /// </appSettings> /// </configuration> /// /// /// /// The AmazonECRClient Configuration Object public AmazonECRClient(AmazonECRConfig config) : base(FallbackCredentialsFactory.GetCredentials(config), config){} /// /// Constructs AmazonECRClient with AWS Credentials /// /// AWS Credentials public AmazonECRClient(AWSCredentials credentials) : this(credentials, new AmazonECRConfig()) { } /// /// Constructs AmazonECRClient with AWS Credentials /// /// AWS Credentials /// The region to connect. public AmazonECRClient(AWSCredentials credentials, RegionEndpoint region) : this(credentials, new AmazonECRConfig{RegionEndpoint = region}) { } /// /// Constructs AmazonECRClient with AWS Credentials and an /// AmazonECRClient Configuration object. /// /// AWS Credentials /// The AmazonECRClient Configuration Object public AmazonECRClient(AWSCredentials credentials, AmazonECRConfig clientConfig) : base(credentials, clientConfig) { } /// /// Constructs AmazonECRClient with AWS Access Key ID and AWS Secret Key /// /// AWS Access Key ID /// AWS Secret Access Key public AmazonECRClient(string awsAccessKeyId, string awsSecretAccessKey) : this(awsAccessKeyId, awsSecretAccessKey, new AmazonECRConfig()) { } /// /// Constructs AmazonECRClient with AWS Access Key ID and AWS Secret Key /// /// AWS Access Key ID /// AWS Secret Access Key /// The region to connect. public AmazonECRClient(string awsAccessKeyId, string awsSecretAccessKey, RegionEndpoint region) : this(awsAccessKeyId, awsSecretAccessKey, new AmazonECRConfig() {RegionEndpoint=region}) { } /// /// Constructs AmazonECRClient with AWS Access Key ID, AWS Secret Key and an /// AmazonECRClient Configuration object. /// /// AWS Access Key ID /// AWS Secret Access Key /// The AmazonECRClient Configuration Object public AmazonECRClient(string awsAccessKeyId, string awsSecretAccessKey, AmazonECRConfig clientConfig) : base(awsAccessKeyId, awsSecretAccessKey, clientConfig) { } /// /// Constructs AmazonECRClient with AWS Access Key ID and AWS Secret Key /// /// AWS Access Key ID /// AWS Secret Access Key /// AWS Session Token public AmazonECRClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken) : this(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, new AmazonECRConfig()) { } /// /// Constructs AmazonECRClient with AWS Access Key ID and AWS Secret Key /// /// AWS Access Key ID /// AWS Secret Access Key /// AWS Session Token /// The region to connect. public AmazonECRClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken, RegionEndpoint region) : this(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, new AmazonECRConfig{RegionEndpoint = region}) { } /// /// Constructs AmazonECRClient with AWS Access Key ID, AWS Secret Key and an /// AmazonECRClient Configuration object. /// /// AWS Access Key ID /// AWS Secret Access Key /// AWS Session Token /// The AmazonECRClient Configuration Object public AmazonECRClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken, AmazonECRConfig clientConfig) : base(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, clientConfig) { } #endregion #if AWS_ASYNC_ENUMERABLES_API private IECRPaginatorFactory _paginators; /// /// Paginators for the service /// public IECRPaginatorFactory Paginators { get { if (this._paginators == null) { this._paginators = new ECRPaginatorFactory(this); } return this._paginators; } } #endif #region Overrides /// /// Creates the signer for the service. /// protected override AbstractAWSSigner CreateSigner() { return new AWS4Signer(); } /// /// Customizes the runtime pipeline. /// /// Runtime pipeline for the current client. protected override void CustomizeRuntimePipeline(RuntimePipeline pipeline) { pipeline.RemoveHandler(); pipeline.AddHandlerAfter(new AmazonECREndpointResolver()); } /// /// Capture metadata for the service. /// protected override IServiceMetadata ServiceMetadata { get { return serviceMetadata; } } #endregion #region Dispose /// /// Disposes the service client. /// protected override void Dispose(bool disposing) { base.Dispose(disposing); } #endregion #region BatchCheckLayerAvailability internal virtual BatchCheckLayerAvailabilityResponse BatchCheckLayerAvailability(BatchCheckLayerAvailabilityRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = BatchCheckLayerAvailabilityRequestMarshaller.Instance; options.ResponseUnmarshaller = BatchCheckLayerAvailabilityResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Checks the availability of one or more image layers in a repository. /// /// /// /// When an image is pushed to a repository, each image layer is checked to verify if /// it has been uploaded before. If it has been uploaded, then the image layer is skipped. /// /// /// /// This operation is used by the Amazon ECR proxy and is not generally used by customers /// for pulling and pushing images. In most cases, you should use the docker /// CLI to pull, tag, and push images. /// /// /// /// Container for the necessary parameters to execute the BatchCheckLayerAvailability service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the BatchCheckLayerAvailability service method, as returned by ECR. /// /// The specified parameter is invalid. Review the available parameters for the API request. /// /// /// The specified repository could not be found. Check the spelling of the specified repository /// and ensure that you are performing operations on the correct registry. /// /// /// These errors are usually caused by a server-side issue. /// /// REST API Reference for BatchCheckLayerAvailability Operation public virtual Task BatchCheckLayerAvailabilityAsync(BatchCheckLayerAvailabilityRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = BatchCheckLayerAvailabilityRequestMarshaller.Instance; options.ResponseUnmarshaller = BatchCheckLayerAvailabilityResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region BatchDeleteImage internal virtual BatchDeleteImageResponse BatchDeleteImage(BatchDeleteImageRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = BatchDeleteImageRequestMarshaller.Instance; options.ResponseUnmarshaller = BatchDeleteImageResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Deletes a list of specified images within a repository. Images are specified with /// either an imageTag or imageDigest. /// /// /// /// You can remove a tag from an image by specifying the image's tag in your request. /// When you remove the last tag from an image, the image is deleted from your repository. /// /// /// /// You can completely delete an image (and all of its tags) by specifying the image's /// digest in your request. /// /// /// Container for the necessary parameters to execute the BatchDeleteImage service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the BatchDeleteImage service method, as returned by ECR. /// /// The specified parameter is invalid. Review the available parameters for the API request. /// /// /// The specified repository could not be found. Check the spelling of the specified repository /// and ensure that you are performing operations on the correct registry. /// /// /// These errors are usually caused by a server-side issue. /// /// REST API Reference for BatchDeleteImage Operation public virtual Task BatchDeleteImageAsync(BatchDeleteImageRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = BatchDeleteImageRequestMarshaller.Instance; options.ResponseUnmarshaller = BatchDeleteImageResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region BatchGetImage internal virtual BatchGetImageResponse BatchGetImage(BatchGetImageRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = BatchGetImageRequestMarshaller.Instance; options.ResponseUnmarshaller = BatchGetImageResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Gets detailed information for an image. Images are specified with either an imageTag /// or imageDigest. /// /// /// /// When an image is pulled, the BatchGetImage API is called once to retrieve the image /// manifest. /// /// /// Container for the necessary parameters to execute the BatchGetImage service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the BatchGetImage service method, as returned by ECR. /// /// The specified parameter is invalid. Review the available parameters for the API request. /// /// /// The specified repository could not be found. Check the spelling of the specified repository /// and ensure that you are performing operations on the correct registry. /// /// /// These errors are usually caused by a server-side issue. /// /// REST API Reference for BatchGetImage Operation public virtual Task BatchGetImageAsync(BatchGetImageRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = BatchGetImageRequestMarshaller.Instance; options.ResponseUnmarshaller = BatchGetImageResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region BatchGetRepositoryScanningConfiguration internal virtual BatchGetRepositoryScanningConfigurationResponse BatchGetRepositoryScanningConfiguration(BatchGetRepositoryScanningConfigurationRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = BatchGetRepositoryScanningConfigurationRequestMarshaller.Instance; options.ResponseUnmarshaller = BatchGetRepositoryScanningConfigurationResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Gets the scanning configuration for one or more repositories. /// /// Container for the necessary parameters to execute the BatchGetRepositoryScanningConfiguration service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the BatchGetRepositoryScanningConfiguration service method, as returned by ECR. /// /// The specified parameter is invalid. Review the available parameters for the API request. /// /// /// The specified repository could not be found. Check the spelling of the specified repository /// and ensure that you are performing operations on the correct registry. /// /// /// These errors are usually caused by a server-side issue. /// /// /// There was an exception validating this request. /// /// REST API Reference for BatchGetRepositoryScanningConfiguration Operation public virtual Task BatchGetRepositoryScanningConfigurationAsync(BatchGetRepositoryScanningConfigurationRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = BatchGetRepositoryScanningConfigurationRequestMarshaller.Instance; options.ResponseUnmarshaller = BatchGetRepositoryScanningConfigurationResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region CompleteLayerUpload internal virtual CompleteLayerUploadResponse CompleteLayerUpload(CompleteLayerUploadRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = CompleteLayerUploadRequestMarshaller.Instance; options.ResponseUnmarshaller = CompleteLayerUploadResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Informs Amazon ECR that the image layer upload has completed for a specified registry, /// repository name, and upload ID. You can optionally provide a sha256 digest /// of the image layer for data validation purposes. /// /// /// /// When an image is pushed, the CompleteLayerUpload API is called once per each new image /// layer to verify that the upload has completed. /// /// /// /// This operation is used by the Amazon ECR proxy and is not generally used by customers /// for pulling and pushing images. In most cases, you should use the docker /// CLI to pull, tag, and push images. /// /// /// /// Container for the necessary parameters to execute the CompleteLayerUpload service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the CompleteLayerUpload service method, as returned by ECR. /// /// The specified layer upload does not contain any layer parts. /// /// /// The layer digest calculation performed by Amazon ECR upon receipt of the image layer /// does not match the digest specified. /// /// /// The specified parameter is invalid. Review the available parameters for the API request. /// /// /// The operation failed due to a KMS exception. /// /// /// The image layer already exists in the associated repository. /// /// /// Layer parts must be at least 5 MiB in size. /// /// /// The specified repository could not be found. Check the spelling of the specified repository /// and ensure that you are performing operations on the correct registry. /// /// /// These errors are usually caused by a server-side issue. /// /// /// The upload could not be found, or the specified upload ID is not valid for this repository. /// /// REST API Reference for CompleteLayerUpload Operation public virtual Task CompleteLayerUploadAsync(CompleteLayerUploadRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = CompleteLayerUploadRequestMarshaller.Instance; options.ResponseUnmarshaller = CompleteLayerUploadResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region CreatePullThroughCacheRule internal virtual CreatePullThroughCacheRuleResponse CreatePullThroughCacheRule(CreatePullThroughCacheRuleRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = CreatePullThroughCacheRuleRequestMarshaller.Instance; options.ResponseUnmarshaller = CreatePullThroughCacheRuleResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Creates a pull through cache rule. A pull through cache rule provides a way to cache /// images from an external public registry in your Amazon ECR private registry. /// /// Container for the necessary parameters to execute the CreatePullThroughCacheRule service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the CreatePullThroughCacheRule service method, as returned by ECR. /// /// The specified parameter is invalid. Review the available parameters for the API request. /// /// /// The operation did not succeed because it would have exceeded a service limit for your /// account. For more information, see Amazon /// ECR service quotas in the Amazon Elastic Container Registry User Guide. /// /// /// A pull through cache rule with these settings already exists for the private registry. /// /// /// These errors are usually caused by a server-side issue. /// /// /// The specified upstream registry isn't supported. /// /// /// There was an exception validating this request. /// /// REST API Reference for CreatePullThroughCacheRule Operation public virtual Task CreatePullThroughCacheRuleAsync(CreatePullThroughCacheRuleRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = CreatePullThroughCacheRuleRequestMarshaller.Instance; options.ResponseUnmarshaller = CreatePullThroughCacheRuleResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region CreateRepository internal virtual CreateRepositoryResponse CreateRepository(CreateRepositoryRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = CreateRepositoryRequestMarshaller.Instance; options.ResponseUnmarshaller = CreateRepositoryResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Creates a repository. For more information, see Amazon /// ECR repositories in the Amazon Elastic Container Registry User Guide. /// /// Container for the necessary parameters to execute the CreateRepository service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the CreateRepository service method, as returned by ECR. /// /// The specified parameter is invalid. Review the available parameters for the API request. /// /// /// An invalid parameter has been specified. Tag keys can have a maximum character length /// of 128 characters, and tag values can have a maximum length of 256 characters. /// /// /// The operation failed due to a KMS exception. /// /// /// The operation did not succeed because it would have exceeded a service limit for your /// account. For more information, see Amazon /// ECR service quotas in the Amazon Elastic Container Registry User Guide. /// /// /// The specified repository already exists in the specified registry. /// /// /// These errors are usually caused by a server-side issue. /// /// /// The list of tags on the repository is over the limit. The maximum number of tags that /// can be applied to a repository is 50. /// /// REST API Reference for CreateRepository Operation public virtual Task CreateRepositoryAsync(CreateRepositoryRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = CreateRepositoryRequestMarshaller.Instance; options.ResponseUnmarshaller = CreateRepositoryResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region DeleteLifecyclePolicy internal virtual DeleteLifecyclePolicyResponse DeleteLifecyclePolicy(DeleteLifecyclePolicyRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteLifecyclePolicyRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteLifecyclePolicyResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Deletes the lifecycle policy associated with the specified repository. /// /// Container for the necessary parameters to execute the DeleteLifecyclePolicy service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the DeleteLifecyclePolicy service method, as returned by ECR. /// /// The specified parameter is invalid. Review the available parameters for the API request. /// /// /// The lifecycle policy could not be found, and no policy is set to the repository. /// /// /// The specified repository could not be found. Check the spelling of the specified repository /// and ensure that you are performing operations on the correct registry. /// /// /// These errors are usually caused by a server-side issue. /// /// REST API Reference for DeleteLifecyclePolicy Operation public virtual Task DeleteLifecyclePolicyAsync(DeleteLifecyclePolicyRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteLifecyclePolicyRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteLifecyclePolicyResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region DeletePullThroughCacheRule internal virtual DeletePullThroughCacheRuleResponse DeletePullThroughCacheRule(DeletePullThroughCacheRuleRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = DeletePullThroughCacheRuleRequestMarshaller.Instance; options.ResponseUnmarshaller = DeletePullThroughCacheRuleResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Deletes a pull through cache rule. /// /// Container for the necessary parameters to execute the DeletePullThroughCacheRule service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the DeletePullThroughCacheRule service method, as returned by ECR. /// /// The specified parameter is invalid. Review the available parameters for the API request. /// /// /// The pull through cache rule was not found. Specify a valid pull through cache rule /// and try again. /// /// /// These errors are usually caused by a server-side issue. /// /// /// There was an exception validating this request. /// /// REST API Reference for DeletePullThroughCacheRule Operation public virtual Task DeletePullThroughCacheRuleAsync(DeletePullThroughCacheRuleRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = DeletePullThroughCacheRuleRequestMarshaller.Instance; options.ResponseUnmarshaller = DeletePullThroughCacheRuleResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region DeleteRegistryPolicy internal virtual DeleteRegistryPolicyResponse DeleteRegistryPolicy(DeleteRegistryPolicyRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteRegistryPolicyRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteRegistryPolicyResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Deletes the registry permissions policy. /// /// Container for the necessary parameters to execute the DeleteRegistryPolicy service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the DeleteRegistryPolicy service method, as returned by ECR. /// /// The specified parameter is invalid. Review the available parameters for the API request. /// /// /// The registry doesn't have an associated registry policy. /// /// /// These errors are usually caused by a server-side issue. /// /// /// There was an exception validating this request. /// /// REST API Reference for DeleteRegistryPolicy Operation public virtual Task DeleteRegistryPolicyAsync(DeleteRegistryPolicyRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteRegistryPolicyRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteRegistryPolicyResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region DeleteRepository internal virtual DeleteRepositoryResponse DeleteRepository(DeleteRepositoryRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteRepositoryRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteRepositoryResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Deletes a repository. If the repository contains images, you must either delete all /// images in the repository or use the force option to delete the repository. /// /// Container for the necessary parameters to execute the DeleteRepository service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the DeleteRepository service method, as returned by ECR. /// /// The specified parameter is invalid. Review the available parameters for the API request. /// /// /// The operation failed due to a KMS exception. /// /// /// The specified repository contains images. To delete a repository that contains images, /// you must force the deletion with the force parameter. /// /// /// The specified repository could not be found. Check the spelling of the specified repository /// and ensure that you are performing operations on the correct registry. /// /// /// These errors are usually caused by a server-side issue. /// /// REST API Reference for DeleteRepository Operation public virtual Task DeleteRepositoryAsync(DeleteRepositoryRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteRepositoryRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteRepositoryResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region DeleteRepositoryPolicy internal virtual DeleteRepositoryPolicyResponse DeleteRepositoryPolicy(DeleteRepositoryPolicyRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteRepositoryPolicyRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteRepositoryPolicyResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Deletes the repository policy associated with the specified repository. /// /// Container for the necessary parameters to execute the DeleteRepositoryPolicy service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the DeleteRepositoryPolicy service method, as returned by ECR. /// /// The specified parameter is invalid. Review the available parameters for the API request. /// /// /// The specified repository could not be found. Check the spelling of the specified repository /// and ensure that you are performing operations on the correct registry. /// /// /// The specified repository and registry combination does not have an associated repository /// policy. /// /// /// These errors are usually caused by a server-side issue. /// /// REST API Reference for DeleteRepositoryPolicy Operation public virtual Task DeleteRepositoryPolicyAsync(DeleteRepositoryPolicyRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteRepositoryPolicyRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteRepositoryPolicyResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region DescribeImageReplicationStatus internal virtual DescribeImageReplicationStatusResponse DescribeImageReplicationStatus(DescribeImageReplicationStatusRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = DescribeImageReplicationStatusRequestMarshaller.Instance; options.ResponseUnmarshaller = DescribeImageReplicationStatusResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Returns the replication status for a specified image. /// /// Container for the necessary parameters to execute the DescribeImageReplicationStatus service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the DescribeImageReplicationStatus service method, as returned by ECR. /// /// The image requested does not exist in the specified repository. /// /// /// The specified parameter is invalid. Review the available parameters for the API request. /// /// /// The specified repository could not be found. Check the spelling of the specified repository /// and ensure that you are performing operations on the correct registry. /// /// /// These errors are usually caused by a server-side issue. /// /// /// There was an exception validating this request. /// /// REST API Reference for DescribeImageReplicationStatus Operation public virtual Task DescribeImageReplicationStatusAsync(DescribeImageReplicationStatusRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = DescribeImageReplicationStatusRequestMarshaller.Instance; options.ResponseUnmarshaller = DescribeImageReplicationStatusResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region DescribeImages internal virtual DescribeImagesResponse DescribeImages(DescribeImagesRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = DescribeImagesRequestMarshaller.Instance; options.ResponseUnmarshaller = DescribeImagesResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Returns metadata about the images in a repository. /// /// /// /// Beginning with Docker version 1.9, the Docker client compresses image layers before /// pushing them to a V2 Docker registry. The output of the docker images /// command shows the uncompressed image size, so it may return a larger image size than /// the image sizes returned by DescribeImages. /// /// /// /// Container for the necessary parameters to execute the DescribeImages service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the DescribeImages service method, as returned by ECR. /// /// The image requested does not exist in the specified repository. /// /// /// The specified parameter is invalid. Review the available parameters for the API request. /// /// /// The specified repository could not be found. Check the spelling of the specified repository /// and ensure that you are performing operations on the correct registry. /// /// /// These errors are usually caused by a server-side issue. /// /// REST API Reference for DescribeImages Operation public virtual Task DescribeImagesAsync(DescribeImagesRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = DescribeImagesRequestMarshaller.Instance; options.ResponseUnmarshaller = DescribeImagesResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region DescribeImageScanFindings internal virtual DescribeImageScanFindingsResponse DescribeImageScanFindings(DescribeImageScanFindingsRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = DescribeImageScanFindingsRequestMarshaller.Instance; options.ResponseUnmarshaller = DescribeImageScanFindingsResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Returns the scan findings for the specified image. /// /// Container for the necessary parameters to execute the DescribeImageScanFindings service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the DescribeImageScanFindings service method, as returned by ECR. /// /// The image requested does not exist in the specified repository. /// /// /// The specified parameter is invalid. Review the available parameters for the API request. /// /// /// The specified repository could not be found. Check the spelling of the specified repository /// and ensure that you are performing operations on the correct registry. /// /// /// The specified image scan could not be found. Ensure that image scanning is enabled /// on the repository and try again. /// /// /// These errors are usually caused by a server-side issue. /// /// /// There was an exception validating this request. /// /// REST API Reference for DescribeImageScanFindings Operation public virtual Task DescribeImageScanFindingsAsync(DescribeImageScanFindingsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = DescribeImageScanFindingsRequestMarshaller.Instance; options.ResponseUnmarshaller = DescribeImageScanFindingsResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region DescribePullThroughCacheRules internal virtual DescribePullThroughCacheRulesResponse DescribePullThroughCacheRules(DescribePullThroughCacheRulesRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = DescribePullThroughCacheRulesRequestMarshaller.Instance; options.ResponseUnmarshaller = DescribePullThroughCacheRulesResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Returns the pull through cache rules for a registry. /// /// Container for the necessary parameters to execute the DescribePullThroughCacheRules service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the DescribePullThroughCacheRules service method, as returned by ECR. /// /// The specified parameter is invalid. Review the available parameters for the API request. /// /// /// The pull through cache rule was not found. Specify a valid pull through cache rule /// and try again. /// /// /// These errors are usually caused by a server-side issue. /// /// /// There was an exception validating this request. /// /// REST API Reference for DescribePullThroughCacheRules Operation public virtual Task DescribePullThroughCacheRulesAsync(DescribePullThroughCacheRulesRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = DescribePullThroughCacheRulesRequestMarshaller.Instance; options.ResponseUnmarshaller = DescribePullThroughCacheRulesResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region DescribeRegistry internal virtual DescribeRegistryResponse DescribeRegistry(DescribeRegistryRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = DescribeRegistryRequestMarshaller.Instance; options.ResponseUnmarshaller = DescribeRegistryResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Describes the settings for a registry. The replication configuration for a repository /// can be created or updated with the PutReplicationConfiguration API action. /// /// Container for the necessary parameters to execute the DescribeRegistry service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the DescribeRegistry service method, as returned by ECR. /// /// The specified parameter is invalid. Review the available parameters for the API request. /// /// /// These errors are usually caused by a server-side issue. /// /// /// There was an exception validating this request. /// /// REST API Reference for DescribeRegistry Operation public virtual Task DescribeRegistryAsync(DescribeRegistryRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = DescribeRegistryRequestMarshaller.Instance; options.ResponseUnmarshaller = DescribeRegistryResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region DescribeRepositories internal virtual DescribeRepositoriesResponse DescribeRepositories(DescribeRepositoriesRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = DescribeRepositoriesRequestMarshaller.Instance; options.ResponseUnmarshaller = DescribeRepositoriesResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Describes image repositories in a registry. /// /// Container for the necessary parameters to execute the DescribeRepositories service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the DescribeRepositories service method, as returned by ECR. /// /// The specified parameter is invalid. Review the available parameters for the API request. /// /// /// The specified repository could not be found. Check the spelling of the specified repository /// and ensure that you are performing operations on the correct registry. /// /// /// These errors are usually caused by a server-side issue. /// /// REST API Reference for DescribeRepositories Operation public virtual Task DescribeRepositoriesAsync(DescribeRepositoriesRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = DescribeRepositoriesRequestMarshaller.Instance; options.ResponseUnmarshaller = DescribeRepositoriesResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region GetAuthorizationToken internal virtual GetAuthorizationTokenResponse GetAuthorizationToken(GetAuthorizationTokenRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = GetAuthorizationTokenRequestMarshaller.Instance; options.ResponseUnmarshaller = GetAuthorizationTokenResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Retrieves an authorization token. An authorization token represents your IAM authentication /// credentials and can be used to access any Amazon ECR registry that your IAM principal /// has access to. The authorization token is valid for 12 hours. /// /// /// /// The authorizationToken returned is a base64 encoded string that can be /// decoded and used in a docker login command to authenticate to a registry. /// The CLI offers an get-login-password command that simplifies the login /// process. For more information, see Registry /// authentication in the Amazon Elastic Container Registry User Guide. /// /// /// Container for the necessary parameters to execute the GetAuthorizationToken service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the GetAuthorizationToken service method, as returned by ECR. /// /// The specified parameter is invalid. Review the available parameters for the API request. /// /// /// These errors are usually caused by a server-side issue. /// /// REST API Reference for GetAuthorizationToken Operation public virtual Task GetAuthorizationTokenAsync(GetAuthorizationTokenRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = GetAuthorizationTokenRequestMarshaller.Instance; options.ResponseUnmarshaller = GetAuthorizationTokenResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region GetDownloadUrlForLayer internal virtual GetDownloadUrlForLayerResponse GetDownloadUrlForLayer(GetDownloadUrlForLayerRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = GetDownloadUrlForLayerRequestMarshaller.Instance; options.ResponseUnmarshaller = GetDownloadUrlForLayerResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Retrieves the pre-signed Amazon S3 download URL corresponding to an image layer. You /// can only get URLs for image layers that are referenced in an image. /// /// /// /// When an image is pulled, the GetDownloadUrlForLayer API is called once per image layer /// that is not already cached. /// /// /// /// This operation is used by the Amazon ECR proxy and is not generally used by customers /// for pulling and pushing images. In most cases, you should use the docker /// CLI to pull, tag, and push images. /// /// /// /// Container for the necessary parameters to execute the GetDownloadUrlForLayer service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the GetDownloadUrlForLayer service method, as returned by ECR. /// /// The specified parameter is invalid. Review the available parameters for the API request. /// /// /// The specified layer is not available because it is not associated with an image. Unassociated /// image layers may be cleaned up at any time. /// /// /// The specified layers could not be found, or the specified layer is not valid for this /// repository. /// /// /// The specified repository could not be found. Check the spelling of the specified repository /// and ensure that you are performing operations on the correct registry. /// /// /// These errors are usually caused by a server-side issue. /// /// REST API Reference for GetDownloadUrlForLayer Operation public virtual Task GetDownloadUrlForLayerAsync(GetDownloadUrlForLayerRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = GetDownloadUrlForLayerRequestMarshaller.Instance; options.ResponseUnmarshaller = GetDownloadUrlForLayerResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region GetLifecyclePolicy internal virtual GetLifecyclePolicyResponse GetLifecyclePolicy(GetLifecyclePolicyRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = GetLifecyclePolicyRequestMarshaller.Instance; options.ResponseUnmarshaller = GetLifecyclePolicyResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Retrieves the lifecycle policy for the specified repository. /// /// Container for the necessary parameters to execute the GetLifecyclePolicy service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the GetLifecyclePolicy service method, as returned by ECR. /// /// The specified parameter is invalid. Review the available parameters for the API request. /// /// /// The lifecycle policy could not be found, and no policy is set to the repository. /// /// /// The specified repository could not be found. Check the spelling of the specified repository /// and ensure that you are performing operations on the correct registry. /// /// /// These errors are usually caused by a server-side issue. /// /// REST API Reference for GetLifecyclePolicy Operation public virtual Task GetLifecyclePolicyAsync(GetLifecyclePolicyRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = GetLifecyclePolicyRequestMarshaller.Instance; options.ResponseUnmarshaller = GetLifecyclePolicyResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region GetLifecyclePolicyPreview internal virtual GetLifecyclePolicyPreviewResponse GetLifecyclePolicyPreview(GetLifecyclePolicyPreviewRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = GetLifecyclePolicyPreviewRequestMarshaller.Instance; options.ResponseUnmarshaller = GetLifecyclePolicyPreviewResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Retrieves the results of the lifecycle policy preview request for the specified repository. /// /// Container for the necessary parameters to execute the GetLifecyclePolicyPreview service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the GetLifecyclePolicyPreview service method, as returned by ECR. /// /// The specified parameter is invalid. Review the available parameters for the API request. /// /// /// There is no dry run for this repository. /// /// /// The specified repository could not be found. Check the spelling of the specified repository /// and ensure that you are performing operations on the correct registry. /// /// /// These errors are usually caused by a server-side issue. /// /// REST API Reference for GetLifecyclePolicyPreview Operation public virtual Task GetLifecyclePolicyPreviewAsync(GetLifecyclePolicyPreviewRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = GetLifecyclePolicyPreviewRequestMarshaller.Instance; options.ResponseUnmarshaller = GetLifecyclePolicyPreviewResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region GetRegistryPolicy internal virtual GetRegistryPolicyResponse GetRegistryPolicy(GetRegistryPolicyRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = GetRegistryPolicyRequestMarshaller.Instance; options.ResponseUnmarshaller = GetRegistryPolicyResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Retrieves the permissions policy for a registry. /// /// Container for the necessary parameters to execute the GetRegistryPolicy service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the GetRegistryPolicy service method, as returned by ECR. /// /// The specified parameter is invalid. Review the available parameters for the API request. /// /// /// The registry doesn't have an associated registry policy. /// /// /// These errors are usually caused by a server-side issue. /// /// /// There was an exception validating this request. /// /// REST API Reference for GetRegistryPolicy Operation public virtual Task GetRegistryPolicyAsync(GetRegistryPolicyRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = GetRegistryPolicyRequestMarshaller.Instance; options.ResponseUnmarshaller = GetRegistryPolicyResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region GetRegistryScanningConfiguration internal virtual GetRegistryScanningConfigurationResponse GetRegistryScanningConfiguration(GetRegistryScanningConfigurationRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = GetRegistryScanningConfigurationRequestMarshaller.Instance; options.ResponseUnmarshaller = GetRegistryScanningConfigurationResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Retrieves the scanning configuration for a registry. /// /// Container for the necessary parameters to execute the GetRegistryScanningConfiguration service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the GetRegistryScanningConfiguration service method, as returned by ECR. /// /// The specified parameter is invalid. Review the available parameters for the API request. /// /// /// These errors are usually caused by a server-side issue. /// /// /// There was an exception validating this request. /// /// REST API Reference for GetRegistryScanningConfiguration Operation public virtual Task GetRegistryScanningConfigurationAsync(GetRegistryScanningConfigurationRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = GetRegistryScanningConfigurationRequestMarshaller.Instance; options.ResponseUnmarshaller = GetRegistryScanningConfigurationResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region GetRepositoryPolicy internal virtual GetRepositoryPolicyResponse GetRepositoryPolicy(GetRepositoryPolicyRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = GetRepositoryPolicyRequestMarshaller.Instance; options.ResponseUnmarshaller = GetRepositoryPolicyResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Retrieves the repository policy for the specified repository. /// /// Container for the necessary parameters to execute the GetRepositoryPolicy service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the GetRepositoryPolicy service method, as returned by ECR. /// /// The specified parameter is invalid. Review the available parameters for the API request. /// /// /// The specified repository could not be found. Check the spelling of the specified repository /// and ensure that you are performing operations on the correct registry. /// /// /// The specified repository and registry combination does not have an associated repository /// policy. /// /// /// These errors are usually caused by a server-side issue. /// /// REST API Reference for GetRepositoryPolicy Operation public virtual Task GetRepositoryPolicyAsync(GetRepositoryPolicyRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = GetRepositoryPolicyRequestMarshaller.Instance; options.ResponseUnmarshaller = GetRepositoryPolicyResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region InitiateLayerUpload internal virtual InitiateLayerUploadResponse InitiateLayerUpload(InitiateLayerUploadRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = InitiateLayerUploadRequestMarshaller.Instance; options.ResponseUnmarshaller = InitiateLayerUploadResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Notifies Amazon ECR that you intend to upload an image layer. /// /// /// /// When an image is pushed, the InitiateLayerUpload API is called once per image layer /// that has not already been uploaded. Whether or not an image layer has been uploaded /// is determined by the BatchCheckLayerAvailability API action. /// /// /// /// This operation is used by the Amazon ECR proxy and is not generally used by customers /// for pulling and pushing images. In most cases, you should use the docker /// CLI to pull, tag, and push images. /// /// /// /// Container for the necessary parameters to execute the InitiateLayerUpload service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the InitiateLayerUpload service method, as returned by ECR. /// /// The specified parameter is invalid. Review the available parameters for the API request. /// /// /// The operation failed due to a KMS exception. /// /// /// The specified repository could not be found. Check the spelling of the specified repository /// and ensure that you are performing operations on the correct registry. /// /// /// These errors are usually caused by a server-side issue. /// /// REST API Reference for InitiateLayerUpload Operation public virtual Task InitiateLayerUploadAsync(InitiateLayerUploadRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = InitiateLayerUploadRequestMarshaller.Instance; options.ResponseUnmarshaller = InitiateLayerUploadResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region ListImages internal virtual ListImagesResponse ListImages(ListImagesRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = ListImagesRequestMarshaller.Instance; options.ResponseUnmarshaller = ListImagesResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Lists all the image IDs for the specified repository. /// /// /// /// You can filter images based on whether or not they are tagged by using the tagStatus /// filter and specifying either TAGGED, UNTAGGED or ANY. /// For example, you can filter your results to return only UNTAGGED images /// and then pipe that result to a BatchDeleteImage operation to delete them. Or, /// you can filter your results to return only TAGGED images to list all /// of the tags in your repository. /// /// /// Container for the necessary parameters to execute the ListImages service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the ListImages service method, as returned by ECR. /// /// The specified parameter is invalid. Review the available parameters for the API request. /// /// /// The specified repository could not be found. Check the spelling of the specified repository /// and ensure that you are performing operations on the correct registry. /// /// /// These errors are usually caused by a server-side issue. /// /// REST API Reference for ListImages Operation public virtual Task ListImagesAsync(ListImagesRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = ListImagesRequestMarshaller.Instance; options.ResponseUnmarshaller = ListImagesResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region ListTagsForResource internal virtual ListTagsForResourceResponse ListTagsForResource(ListTagsForResourceRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = ListTagsForResourceRequestMarshaller.Instance; options.ResponseUnmarshaller = ListTagsForResourceResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// List the tags for an Amazon ECR resource. /// /// Container for the necessary parameters to execute the ListTagsForResource service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the ListTagsForResource service method, as returned by ECR. /// /// The specified parameter is invalid. Review the available parameters for the API request. /// /// /// The specified repository could not be found. Check the spelling of the specified repository /// and ensure that you are performing operations on the correct registry. /// /// /// These errors are usually caused by a server-side issue. /// /// REST API Reference for ListTagsForResource Operation public virtual Task ListTagsForResourceAsync(ListTagsForResourceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = ListTagsForResourceRequestMarshaller.Instance; options.ResponseUnmarshaller = ListTagsForResourceResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region PutImage internal virtual PutImageResponse PutImage(PutImageRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = PutImageRequestMarshaller.Instance; options.ResponseUnmarshaller = PutImageResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Creates or updates the image manifest and tags associated with an image. /// /// /// /// When an image is pushed and all new image layers have been uploaded, the PutImage /// API is called once to create or update the image manifest and the tags associated /// with the image. /// /// /// /// This operation is used by the Amazon ECR proxy and is not generally used by customers /// for pulling and pushing images. In most cases, you should use the docker /// CLI to pull, tag, and push images. /// /// /// /// Container for the necessary parameters to execute the PutImage service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the PutImage service method, as returned by ECR. /// /// The specified image has already been pushed, and there were no changes to the manifest /// or image tag after the last push. /// /// /// The specified image digest does not match the digest that Amazon ECR calculated for /// the image. /// /// /// The specified image is tagged with a tag that already exists. The repository is configured /// for tag immutability. /// /// /// The specified parameter is invalid. Review the available parameters for the API request. /// /// /// The operation failed due to a KMS exception. /// /// /// The specified layers could not be found, or the specified layer is not valid for this /// repository. /// /// /// The operation did not succeed because it would have exceeded a service limit for your /// account. For more information, see Amazon /// ECR service quotas in the Amazon Elastic Container Registry User Guide. /// /// /// The manifest list is referencing an image that does not exist. /// /// /// The specified repository could not be found. Check the spelling of the specified repository /// and ensure that you are performing operations on the correct registry. /// /// /// These errors are usually caused by a server-side issue. /// /// REST API Reference for PutImage Operation public virtual Task PutImageAsync(PutImageRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = PutImageRequestMarshaller.Instance; options.ResponseUnmarshaller = PutImageResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region PutImageScanningConfiguration internal virtual PutImageScanningConfigurationResponse PutImageScanningConfiguration(PutImageScanningConfigurationRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = PutImageScanningConfigurationRequestMarshaller.Instance; options.ResponseUnmarshaller = PutImageScanningConfigurationResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// /// /// The PutImageScanningConfiguration API is being deprecated, in favor of /// specifying the image scanning configuration at the registry level. For more information, /// see PutRegistryScanningConfiguration. /// /// /// /// Updates the image scanning configuration for the specified repository. /// /// /// Container for the necessary parameters to execute the PutImageScanningConfiguration service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the PutImageScanningConfiguration service method, as returned by ECR. /// /// The specified parameter is invalid. Review the available parameters for the API request. /// /// /// The specified repository could not be found. Check the spelling of the specified repository /// and ensure that you are performing operations on the correct registry. /// /// /// These errors are usually caused by a server-side issue. /// /// /// There was an exception validating this request. /// /// REST API Reference for PutImageScanningConfiguration Operation public virtual Task PutImageScanningConfigurationAsync(PutImageScanningConfigurationRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = PutImageScanningConfigurationRequestMarshaller.Instance; options.ResponseUnmarshaller = PutImageScanningConfigurationResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region PutImageTagMutability internal virtual PutImageTagMutabilityResponse PutImageTagMutability(PutImageTagMutabilityRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = PutImageTagMutabilityRequestMarshaller.Instance; options.ResponseUnmarshaller = PutImageTagMutabilityResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Updates the image tag mutability settings for the specified repository. For more information, /// see Image /// tag mutability in the Amazon Elastic Container Registry User Guide. /// /// Container for the necessary parameters to execute the PutImageTagMutability service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the PutImageTagMutability service method, as returned by ECR. /// /// The specified parameter is invalid. Review the available parameters for the API request. /// /// /// The specified repository could not be found. Check the spelling of the specified repository /// and ensure that you are performing operations on the correct registry. /// /// /// These errors are usually caused by a server-side issue. /// /// REST API Reference for PutImageTagMutability Operation public virtual Task PutImageTagMutabilityAsync(PutImageTagMutabilityRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = PutImageTagMutabilityRequestMarshaller.Instance; options.ResponseUnmarshaller = PutImageTagMutabilityResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region PutLifecyclePolicy internal virtual PutLifecyclePolicyResponse PutLifecyclePolicy(PutLifecyclePolicyRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = PutLifecyclePolicyRequestMarshaller.Instance; options.ResponseUnmarshaller = PutLifecyclePolicyResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Creates or updates the lifecycle policy for the specified repository. For more information, /// see Lifecycle /// policy template. /// /// Container for the necessary parameters to execute the PutLifecyclePolicy service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the PutLifecyclePolicy service method, as returned by ECR. /// /// The specified parameter is invalid. Review the available parameters for the API request. /// /// /// The specified repository could not be found. Check the spelling of the specified repository /// and ensure that you are performing operations on the correct registry. /// /// /// These errors are usually caused by a server-side issue. /// /// REST API Reference for PutLifecyclePolicy Operation public virtual Task PutLifecyclePolicyAsync(PutLifecyclePolicyRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = PutLifecyclePolicyRequestMarshaller.Instance; options.ResponseUnmarshaller = PutLifecyclePolicyResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region PutRegistryPolicy internal virtual PutRegistryPolicyResponse PutRegistryPolicy(PutRegistryPolicyRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = PutRegistryPolicyRequestMarshaller.Instance; options.ResponseUnmarshaller = PutRegistryPolicyResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Creates or updates the permissions policy for your registry. /// /// /// /// A registry policy is used to specify permissions for another Amazon Web Services account /// and is used when configuring cross-account replication. For more information, see /// Registry /// permissions in the Amazon Elastic Container Registry User Guide. /// /// /// Container for the necessary parameters to execute the PutRegistryPolicy service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the PutRegistryPolicy service method, as returned by ECR. /// /// The specified parameter is invalid. Review the available parameters for the API request. /// /// /// These errors are usually caused by a server-side issue. /// /// /// There was an exception validating this request. /// /// REST API Reference for PutRegistryPolicy Operation public virtual Task PutRegistryPolicyAsync(PutRegistryPolicyRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = PutRegistryPolicyRequestMarshaller.Instance; options.ResponseUnmarshaller = PutRegistryPolicyResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region PutRegistryScanningConfiguration internal virtual PutRegistryScanningConfigurationResponse PutRegistryScanningConfiguration(PutRegistryScanningConfigurationRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = PutRegistryScanningConfigurationRequestMarshaller.Instance; options.ResponseUnmarshaller = PutRegistryScanningConfigurationResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Creates or updates the scanning configuration for your private registry. /// /// Container for the necessary parameters to execute the PutRegistryScanningConfiguration service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the PutRegistryScanningConfiguration service method, as returned by ECR. /// /// The specified parameter is invalid. Review the available parameters for the API request. /// /// /// These errors are usually caused by a server-side issue. /// /// /// There was an exception validating this request. /// /// REST API Reference for PutRegistryScanningConfiguration Operation public virtual Task PutRegistryScanningConfigurationAsync(PutRegistryScanningConfigurationRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = PutRegistryScanningConfigurationRequestMarshaller.Instance; options.ResponseUnmarshaller = PutRegistryScanningConfigurationResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region PutReplicationConfiguration internal virtual PutReplicationConfigurationResponse PutReplicationConfiguration(PutReplicationConfigurationRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = PutReplicationConfigurationRequestMarshaller.Instance; options.ResponseUnmarshaller = PutReplicationConfigurationResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Creates or updates the replication configuration for a registry. The existing replication /// configuration for a repository can be retrieved with the DescribeRegistry API /// action. The first time the PutReplicationConfiguration API is called, a service-linked /// IAM role is created in your account for the replication process. For more information, /// see Using /// service-linked roles for Amazon ECR in the Amazon Elastic Container Registry /// User Guide. /// /// /// /// When configuring cross-account replication, the destination account must grant the /// source account permission to replicate. This permission is controlled using a registry /// permissions policy. For more information, see PutRegistryPolicy. /// /// /// /// Container for the necessary parameters to execute the PutReplicationConfiguration service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the PutReplicationConfiguration service method, as returned by ECR. /// /// The specified parameter is invalid. Review the available parameters for the API request. /// /// /// These errors are usually caused by a server-side issue. /// /// /// There was an exception validating this request. /// /// REST API Reference for PutReplicationConfiguration Operation public virtual Task PutReplicationConfigurationAsync(PutReplicationConfigurationRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = PutReplicationConfigurationRequestMarshaller.Instance; options.ResponseUnmarshaller = PutReplicationConfigurationResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region SetRepositoryPolicy internal virtual SetRepositoryPolicyResponse SetRepositoryPolicy(SetRepositoryPolicyRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = SetRepositoryPolicyRequestMarshaller.Instance; options.ResponseUnmarshaller = SetRepositoryPolicyResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Applies a repository policy to the specified repository to control access permissions. /// For more information, see Amazon /// ECR Repository policies in the Amazon Elastic Container Registry User Guide. /// /// Container for the necessary parameters to execute the SetRepositoryPolicy service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the SetRepositoryPolicy service method, as returned by ECR. /// /// The specified parameter is invalid. Review the available parameters for the API request. /// /// /// The specified repository could not be found. Check the spelling of the specified repository /// and ensure that you are performing operations on the correct registry. /// /// /// These errors are usually caused by a server-side issue. /// /// REST API Reference for SetRepositoryPolicy Operation public virtual Task SetRepositoryPolicyAsync(SetRepositoryPolicyRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = SetRepositoryPolicyRequestMarshaller.Instance; options.ResponseUnmarshaller = SetRepositoryPolicyResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region StartImageScan internal virtual StartImageScanResponse StartImageScan(StartImageScanRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = StartImageScanRequestMarshaller.Instance; options.ResponseUnmarshaller = StartImageScanResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Starts an image vulnerability scan. An image scan can only be started once per 24 /// hours on an individual image. This limit includes if an image was scanned on initial /// push. For more information, see Image /// scanning in the Amazon Elastic Container Registry User Guide. /// /// Container for the necessary parameters to execute the StartImageScan service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the StartImageScan service method, as returned by ECR. /// /// The image requested does not exist in the specified repository. /// /// /// The specified parameter is invalid. Review the available parameters for the API request. /// /// /// The operation did not succeed because it would have exceeded a service limit for your /// account. For more information, see Amazon /// ECR service quotas in the Amazon Elastic Container Registry User Guide. /// /// /// The specified repository could not be found. Check the spelling of the specified repository /// and ensure that you are performing operations on the correct registry. /// /// /// These errors are usually caused by a server-side issue. /// /// /// The image is of a type that cannot be scanned. /// /// /// There was an exception validating this request. /// /// REST API Reference for StartImageScan Operation public virtual Task StartImageScanAsync(StartImageScanRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = StartImageScanRequestMarshaller.Instance; options.ResponseUnmarshaller = StartImageScanResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region StartLifecyclePolicyPreview internal virtual StartLifecyclePolicyPreviewResponse StartLifecyclePolicyPreview(StartLifecyclePolicyPreviewRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = StartLifecyclePolicyPreviewRequestMarshaller.Instance; options.ResponseUnmarshaller = StartLifecyclePolicyPreviewResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Starts a preview of a lifecycle policy for the specified repository. This allows you /// to see the results before associating the lifecycle policy with the repository. /// /// Container for the necessary parameters to execute the StartLifecyclePolicyPreview service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the StartLifecyclePolicyPreview service method, as returned by ECR. /// /// The specified parameter is invalid. Review the available parameters for the API request. /// /// /// The lifecycle policy could not be found, and no policy is set to the repository. /// /// /// The previous lifecycle policy preview request has not completed. Wait and try again. /// /// /// The specified repository could not be found. Check the spelling of the specified repository /// and ensure that you are performing operations on the correct registry. /// /// /// These errors are usually caused by a server-side issue. /// /// REST API Reference for StartLifecyclePolicyPreview Operation public virtual Task StartLifecyclePolicyPreviewAsync(StartLifecyclePolicyPreviewRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = StartLifecyclePolicyPreviewRequestMarshaller.Instance; options.ResponseUnmarshaller = StartLifecyclePolicyPreviewResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region TagResource internal virtual TagResourceResponse TagResource(TagResourceRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = TagResourceRequestMarshaller.Instance; options.ResponseUnmarshaller = TagResourceResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Adds specified tags to a resource with the specified ARN. Existing tags on a resource /// are not changed if they are not specified in the request parameters. /// /// Container for the necessary parameters to execute the TagResource service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the TagResource service method, as returned by ECR. /// /// The specified parameter is invalid. Review the available parameters for the API request. /// /// /// An invalid parameter has been specified. Tag keys can have a maximum character length /// of 128 characters, and tag values can have a maximum length of 256 characters. /// /// /// The specified repository could not be found. Check the spelling of the specified repository /// and ensure that you are performing operations on the correct registry. /// /// /// These errors are usually caused by a server-side issue. /// /// /// The list of tags on the repository is over the limit. The maximum number of tags that /// can be applied to a repository is 50. /// /// REST API Reference for TagResource Operation public virtual Task TagResourceAsync(TagResourceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = TagResourceRequestMarshaller.Instance; options.ResponseUnmarshaller = TagResourceResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region UntagResource internal virtual UntagResourceResponse UntagResource(UntagResourceRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = UntagResourceRequestMarshaller.Instance; options.ResponseUnmarshaller = UntagResourceResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Deletes specified tags from a resource. /// /// Container for the necessary parameters to execute the UntagResource service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the UntagResource service method, as returned by ECR. /// /// The specified parameter is invalid. Review the available parameters for the API request. /// /// /// An invalid parameter has been specified. Tag keys can have a maximum character length /// of 128 characters, and tag values can have a maximum length of 256 characters. /// /// /// The specified repository could not be found. Check the spelling of the specified repository /// and ensure that you are performing operations on the correct registry. /// /// /// These errors are usually caused by a server-side issue. /// /// /// The list of tags on the repository is over the limit. The maximum number of tags that /// can be applied to a repository is 50. /// /// REST API Reference for UntagResource Operation public virtual Task UntagResourceAsync(UntagResourceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = UntagResourceRequestMarshaller.Instance; options.ResponseUnmarshaller = UntagResourceResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region UploadLayerPart internal virtual UploadLayerPartResponse UploadLayerPart(UploadLayerPartRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = UploadLayerPartRequestMarshaller.Instance; options.ResponseUnmarshaller = UploadLayerPartResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Uploads an image layer part to Amazon ECR. /// /// /// /// When an image is pushed, each new image layer is uploaded in parts. The maximum size /// of each image layer part can be 20971520 bytes (or about 20MB). The UploadLayerPart /// API is called once per each new image layer part. /// /// /// /// This operation is used by the Amazon ECR proxy and is not generally used by customers /// for pulling and pushing images. In most cases, you should use the docker /// CLI to pull, tag, and push images. /// /// /// /// Container for the necessary parameters to execute the UploadLayerPart service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the UploadLayerPart service method, as returned by ECR. /// /// The layer part size is not valid, or the first byte specified is not consecutive to /// the last byte of a previous layer part upload. /// /// /// The specified parameter is invalid. Review the available parameters for the API request. /// /// /// The operation failed due to a KMS exception. /// /// /// The operation did not succeed because it would have exceeded a service limit for your /// account. For more information, see Amazon /// ECR service quotas in the Amazon Elastic Container Registry User Guide. /// /// /// The specified repository could not be found. Check the spelling of the specified repository /// and ensure that you are performing operations on the correct registry. /// /// /// These errors are usually caused by a server-side issue. /// /// /// The upload could not be found, or the specified upload ID is not valid for this repository. /// /// REST API Reference for UploadLayerPart Operation public virtual Task UploadLayerPartAsync(UploadLayerPartRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = UploadLayerPartRequestMarshaller.Instance; options.ResponseUnmarshaller = UploadLayerPartResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion } }