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

An object representing a repository.

See Also:

AWS * API Reference

*/ class Repository { public: AWS_ECRPUBLIC_API Repository(); AWS_ECRPUBLIC_API Repository(Aws::Utils::Json::JsonView jsonValue); AWS_ECRPUBLIC_API Repository& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_ECRPUBLIC_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 that's associated with the public registry * that contains the repository.

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

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

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

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

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

The Amazon Web Services account ID that's associated with the public 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 that's associated with the public registry * that contains the repository.

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

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

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

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

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

The Amazon Web Services account ID that's associated with the public 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;} 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; }; } // namespace Model } // namespace ECRPublic } // namespace Aws