/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace ECR { namespace Model { /** *

An object representing a repository.

See Also:

AWS API * Reference

*/ class Repository { public: AWS_ECR_API Repository(); AWS_ECR_API Repository(Aws::Utils::Json::JsonView jsonValue); AWS_ECR_API Repository& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_ECR_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The Amazon Resource Name (ARN) that identifies the repository. The ARN * contains the arn:aws:ecr namespace, followed by the region of the * repository, Amazon Web Services account ID of the repository owner, repository * namespace, and repository name. For example, * arn:aws:ecr:region:012345678910:repository/test.

*/ inline const Aws::String& GetRepositoryArn() const{ return m_repositoryArn; } /** *

The Amazon Resource Name (ARN) that identifies the repository. The ARN * contains the arn:aws:ecr namespace, followed by the region of the * repository, Amazon Web Services account ID of the repository owner, repository * namespace, and repository name. For example, * arn:aws:ecr:region:012345678910:repository/test.

*/ inline bool RepositoryArnHasBeenSet() const { return m_repositoryArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) that identifies the repository. The ARN * contains the arn:aws:ecr namespace, followed by the region of the * repository, Amazon Web Services account ID of the repository owner, repository * namespace, and repository name. For example, * arn:aws:ecr:region:012345678910:repository/test.

*/ inline void SetRepositoryArn(const Aws::String& value) { m_repositoryArnHasBeenSet = true; m_repositoryArn = value; } /** *

The Amazon Resource Name (ARN) that identifies the repository. The ARN * contains the arn:aws:ecr namespace, followed by the region of the * repository, Amazon Web Services account ID of the repository owner, repository * namespace, and repository name. For example, * arn:aws:ecr:region:012345678910:repository/test.

*/ inline void SetRepositoryArn(Aws::String&& value) { m_repositoryArnHasBeenSet = true; m_repositoryArn = std::move(value); } /** *

The Amazon Resource Name (ARN) that identifies the repository. The ARN * contains the arn:aws:ecr namespace, followed by the region of the * repository, Amazon Web Services account ID of the repository owner, repository * namespace, and repository name. For example, * arn:aws:ecr:region:012345678910:repository/test.

*/ inline void SetRepositoryArn(const char* value) { m_repositoryArnHasBeenSet = true; m_repositoryArn.assign(value); } /** *

The Amazon Resource Name (ARN) that identifies the repository. The ARN * contains the arn:aws:ecr namespace, followed by the region of the * repository, Amazon Web Services account ID of the repository owner, repository * namespace, and repository name. For example, * arn:aws:ecr:region:012345678910:repository/test.

*/ inline Repository& WithRepositoryArn(const Aws::String& value) { SetRepositoryArn(value); return *this;} /** *

The Amazon Resource Name (ARN) that identifies the repository. The ARN * contains the arn:aws:ecr namespace, followed by the region of the * repository, Amazon Web Services account ID of the repository owner, repository * namespace, and repository name. For example, * arn:aws:ecr:region:012345678910:repository/test.

*/ inline Repository& WithRepositoryArn(Aws::String&& value) { SetRepositoryArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) that identifies the repository. The ARN * contains the arn:aws:ecr namespace, followed by the region of the * repository, Amazon Web Services account ID of the repository owner, repository * namespace, and repository name. For example, * arn:aws:ecr:region:012345678910:repository/test.

*/ inline Repository& WithRepositoryArn(const char* value) { SetRepositoryArn(value); return *this;} /** *

The Amazon Web Services account ID associated with the registry that contains * the repository.

*/ inline const Aws::String& GetRegistryId() const{ return m_registryId; } /** *

The Amazon Web Services account ID associated with the registry that contains * the repository.

*/ inline bool RegistryIdHasBeenSet() const { return m_registryIdHasBeenSet; } /** *

The Amazon Web Services account ID associated with the registry that contains * the repository.

*/ inline void SetRegistryId(const Aws::String& value) { m_registryIdHasBeenSet = true; m_registryId = value; } /** *

The Amazon Web Services account ID associated with the registry that contains * the repository.

*/ inline void SetRegistryId(Aws::String&& value) { m_registryIdHasBeenSet = true; m_registryId = std::move(value); } /** *

The Amazon Web Services account ID associated with the registry that contains * the repository.

*/ inline void SetRegistryId(const char* value) { m_registryIdHasBeenSet = true; m_registryId.assign(value); } /** *

The Amazon Web Services account ID associated with the registry that contains * the repository.

*/ inline Repository& WithRegistryId(const Aws::String& value) { SetRegistryId(value); return *this;} /** *

The Amazon Web Services account ID associated with the registry that contains * the repository.

*/ inline Repository& WithRegistryId(Aws::String&& value) { SetRegistryId(std::move(value)); return *this;} /** *

The Amazon Web Services account ID associated with the registry that contains * the repository.

*/ inline Repository& WithRegistryId(const char* value) { SetRegistryId(value); return *this;} /** *

The name of the repository.

*/ inline const Aws::String& GetRepositoryName() const{ return m_repositoryName; } /** *

The name of the repository.

*/ inline bool RepositoryNameHasBeenSet() const { return m_repositoryNameHasBeenSet; } /** *

The name of the repository.

*/ inline void SetRepositoryName(const Aws::String& value) { m_repositoryNameHasBeenSet = true; m_repositoryName = value; } /** *

The name of the repository.

*/ inline void SetRepositoryName(Aws::String&& value) { m_repositoryNameHasBeenSet = true; m_repositoryName = std::move(value); } /** *

The name of the repository.

*/ inline void SetRepositoryName(const char* value) { m_repositoryNameHasBeenSet = true; m_repositoryName.assign(value); } /** *

The name of the repository.

*/ inline Repository& WithRepositoryName(const Aws::String& value) { SetRepositoryName(value); return *this;} /** *

The name of the repository.

*/ inline Repository& WithRepositoryName(Aws::String&& value) { SetRepositoryName(std::move(value)); return *this;} /** *

The name of the repository.

*/ inline Repository& WithRepositoryName(const char* value) { SetRepositoryName(value); return *this;} /** *

The URI for the repository. You can use this URI for container image * push and pull operations.

*/ inline const Aws::String& GetRepositoryUri() const{ return m_repositoryUri; } /** *

The URI for the repository. You can use this URI for container image * push and pull operations.

*/ inline bool RepositoryUriHasBeenSet() const { return m_repositoryUriHasBeenSet; } /** *

The URI for the repository. You can use this URI for container image * push and pull operations.

*/ inline void SetRepositoryUri(const Aws::String& value) { m_repositoryUriHasBeenSet = true; m_repositoryUri = value; } /** *

The URI for the repository. You can use this URI for container image * push and pull operations.

*/ inline void SetRepositoryUri(Aws::String&& value) { m_repositoryUriHasBeenSet = true; m_repositoryUri = std::move(value); } /** *

The URI for the repository. You can use this URI for container image * push and pull operations.

*/ inline void SetRepositoryUri(const char* value) { m_repositoryUriHasBeenSet = true; m_repositoryUri.assign(value); } /** *

The URI for the repository. You can use this URI for container image * push and pull operations.

*/ inline Repository& WithRepositoryUri(const Aws::String& value) { SetRepositoryUri(value); return *this;} /** *

The URI for the repository. You can use this URI for container image * push and pull operations.

*/ inline Repository& WithRepositoryUri(Aws::String&& value) { SetRepositoryUri(std::move(value)); return *this;} /** *

The URI for the repository. You can use this URI for container image * push and pull operations.

*/ inline Repository& WithRepositoryUri(const char* value) { SetRepositoryUri(value); return *this;} /** *

The date and time, in JavaScript date format, when the repository was * created.

*/ inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } /** *

The date and time, in JavaScript date format, when the repository was * created.

*/ inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; } /** *

The date and time, in JavaScript date format, when the repository was * created.

*/ inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAtHasBeenSet = true; m_createdAt = value; } /** *

The date and time, in JavaScript date format, when the repository was * created.

*/ inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::move(value); } /** *

The date and time, in JavaScript date format, when the repository was * created.

*/ inline Repository& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} /** *

The date and time, in JavaScript date format, when the repository was * created.

*/ inline Repository& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;} /** *

The tag mutability setting for the repository.

*/ inline const ImageTagMutability& GetImageTagMutability() const{ return m_imageTagMutability; } /** *

The tag mutability setting for the repository.

*/ inline bool ImageTagMutabilityHasBeenSet() const { return m_imageTagMutabilityHasBeenSet; } /** *

The tag mutability setting for the repository.

*/ inline void SetImageTagMutability(const ImageTagMutability& value) { m_imageTagMutabilityHasBeenSet = true; m_imageTagMutability = value; } /** *

The tag mutability setting for the repository.

*/ inline void SetImageTagMutability(ImageTagMutability&& value) { m_imageTagMutabilityHasBeenSet = true; m_imageTagMutability = std::move(value); } /** *

The tag mutability setting for the repository.

*/ inline Repository& WithImageTagMutability(const ImageTagMutability& value) { SetImageTagMutability(value); return *this;} /** *

The tag mutability setting for the repository.

*/ inline Repository& WithImageTagMutability(ImageTagMutability&& value) { SetImageTagMutability(std::move(value)); return *this;} inline const ImageScanningConfiguration& GetImageScanningConfiguration() const{ return m_imageScanningConfiguration; } inline bool ImageScanningConfigurationHasBeenSet() const { return m_imageScanningConfigurationHasBeenSet; } inline void SetImageScanningConfiguration(const ImageScanningConfiguration& value) { m_imageScanningConfigurationHasBeenSet = true; m_imageScanningConfiguration = value; } inline void SetImageScanningConfiguration(ImageScanningConfiguration&& value) { m_imageScanningConfigurationHasBeenSet = true; m_imageScanningConfiguration = std::move(value); } inline Repository& WithImageScanningConfiguration(const ImageScanningConfiguration& value) { SetImageScanningConfiguration(value); return *this;} inline Repository& WithImageScanningConfiguration(ImageScanningConfiguration&& value) { SetImageScanningConfiguration(std::move(value)); return *this;} /** *

The encryption configuration for the repository. This determines how the * contents of your repository are encrypted at rest.

*/ inline const EncryptionConfiguration& GetEncryptionConfiguration() const{ return m_encryptionConfiguration; } /** *

The encryption configuration for the repository. This determines how the * contents of your repository are encrypted at rest.

*/ inline bool EncryptionConfigurationHasBeenSet() const { return m_encryptionConfigurationHasBeenSet; } /** *

The encryption configuration for the repository. This determines how the * contents of your repository are encrypted at rest.

*/ inline void SetEncryptionConfiguration(const EncryptionConfiguration& value) { m_encryptionConfigurationHasBeenSet = true; m_encryptionConfiguration = value; } /** *

The encryption configuration for the repository. This determines how the * contents of your repository are encrypted at rest.

*/ inline void SetEncryptionConfiguration(EncryptionConfiguration&& value) { m_encryptionConfigurationHasBeenSet = true; m_encryptionConfiguration = std::move(value); } /** *

The encryption configuration for the repository. This determines how the * contents of your repository are encrypted at rest.

*/ inline Repository& WithEncryptionConfiguration(const EncryptionConfiguration& value) { SetEncryptionConfiguration(value); return *this;} /** *

The encryption configuration for the repository. This determines how the * contents of your repository are encrypted at rest.

*/ inline Repository& WithEncryptionConfiguration(EncryptionConfiguration&& value) { SetEncryptionConfiguration(std::move(value)); return *this;} private: Aws::String m_repositoryArn; bool m_repositoryArnHasBeenSet = false; Aws::String m_registryId; bool m_registryIdHasBeenSet = false; Aws::String m_repositoryName; bool m_repositoryNameHasBeenSet = false; Aws::String m_repositoryUri; bool m_repositoryUriHasBeenSet = false; Aws::Utils::DateTime m_createdAt; bool m_createdAtHasBeenSet = false; ImageTagMutability m_imageTagMutability; bool m_imageTagMutabilityHasBeenSet = false; ImageScanningConfiguration m_imageScanningConfiguration; bool m_imageScanningConfigurationHasBeenSet = false; EncryptionConfiguration m_encryptionConfiguration; bool m_encryptionConfigurationHasBeenSet = false; }; } // namespace Model } // namespace ECR } // namespace Aws