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

Describes a source image repository.

See Also:

AWS * API Reference

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

The identifier of an image.

For an image in Amazon Elastic Container * Registry (Amazon ECR), this is an image name. For the image name format, see Pulling * an image in the Amazon ECR User Guide.

*/ inline const Aws::String& GetImageIdentifier() const{ return m_imageIdentifier; } /** *

The identifier of an image.

For an image in Amazon Elastic Container * Registry (Amazon ECR), this is an image name. For the image name format, see Pulling * an image in the Amazon ECR User Guide.

*/ inline bool ImageIdentifierHasBeenSet() const { return m_imageIdentifierHasBeenSet; } /** *

The identifier of an image.

For an image in Amazon Elastic Container * Registry (Amazon ECR), this is an image name. For the image name format, see Pulling * an image in the Amazon ECR User Guide.

*/ inline void SetImageIdentifier(const Aws::String& value) { m_imageIdentifierHasBeenSet = true; m_imageIdentifier = value; } /** *

The identifier of an image.

For an image in Amazon Elastic Container * Registry (Amazon ECR), this is an image name. For the image name format, see Pulling * an image in the Amazon ECR User Guide.

*/ inline void SetImageIdentifier(Aws::String&& value) { m_imageIdentifierHasBeenSet = true; m_imageIdentifier = std::move(value); } /** *

The identifier of an image.

For an image in Amazon Elastic Container * Registry (Amazon ECR), this is an image name. For the image name format, see Pulling * an image in the Amazon ECR User Guide.

*/ inline void SetImageIdentifier(const char* value) { m_imageIdentifierHasBeenSet = true; m_imageIdentifier.assign(value); } /** *

The identifier of an image.

For an image in Amazon Elastic Container * Registry (Amazon ECR), this is an image name. For the image name format, see Pulling * an image in the Amazon ECR User Guide.

*/ inline ImageRepository& WithImageIdentifier(const Aws::String& value) { SetImageIdentifier(value); return *this;} /** *

The identifier of an image.

For an image in Amazon Elastic Container * Registry (Amazon ECR), this is an image name. For the image name format, see Pulling * an image in the Amazon ECR User Guide.

*/ inline ImageRepository& WithImageIdentifier(Aws::String&& value) { SetImageIdentifier(std::move(value)); return *this;} /** *

The identifier of an image.

For an image in Amazon Elastic Container * Registry (Amazon ECR), this is an image name. For the image name format, see Pulling * an image in the Amazon ECR User Guide.

*/ inline ImageRepository& WithImageIdentifier(const char* value) { SetImageIdentifier(value); return *this;} /** *

Configuration for running the identified image.

*/ inline const ImageConfiguration& GetImageConfiguration() const{ return m_imageConfiguration; } /** *

Configuration for running the identified image.

*/ inline bool ImageConfigurationHasBeenSet() const { return m_imageConfigurationHasBeenSet; } /** *

Configuration for running the identified image.

*/ inline void SetImageConfiguration(const ImageConfiguration& value) { m_imageConfigurationHasBeenSet = true; m_imageConfiguration = value; } /** *

Configuration for running the identified image.

*/ inline void SetImageConfiguration(ImageConfiguration&& value) { m_imageConfigurationHasBeenSet = true; m_imageConfiguration = std::move(value); } /** *

Configuration for running the identified image.

*/ inline ImageRepository& WithImageConfiguration(const ImageConfiguration& value) { SetImageConfiguration(value); return *this;} /** *

Configuration for running the identified image.

*/ inline ImageRepository& WithImageConfiguration(ImageConfiguration&& value) { SetImageConfiguration(std::move(value)); return *this;} /** *

The type of the image repository. This reflects the repository provider and * whether the repository is private or public.

*/ inline const ImageRepositoryType& GetImageRepositoryType() const{ return m_imageRepositoryType; } /** *

The type of the image repository. This reflects the repository provider and * whether the repository is private or public.

*/ inline bool ImageRepositoryTypeHasBeenSet() const { return m_imageRepositoryTypeHasBeenSet; } /** *

The type of the image repository. This reflects the repository provider and * whether the repository is private or public.

*/ inline void SetImageRepositoryType(const ImageRepositoryType& value) { m_imageRepositoryTypeHasBeenSet = true; m_imageRepositoryType = value; } /** *

The type of the image repository. This reflects the repository provider and * whether the repository is private or public.

*/ inline void SetImageRepositoryType(ImageRepositoryType&& value) { m_imageRepositoryTypeHasBeenSet = true; m_imageRepositoryType = std::move(value); } /** *

The type of the image repository. This reflects the repository provider and * whether the repository is private or public.

*/ inline ImageRepository& WithImageRepositoryType(const ImageRepositoryType& value) { SetImageRepositoryType(value); return *this;} /** *

The type of the image repository. This reflects the repository provider and * whether the repository is private or public.

*/ inline ImageRepository& WithImageRepositoryType(ImageRepositoryType&& value) { SetImageRepositoryType(std::move(value)); return *this;} private: Aws::String m_imageIdentifier; bool m_imageIdentifierHasBeenSet = false; ImageConfiguration m_imageConfiguration; bool m_imageConfigurationHasBeenSet = false; ImageRepositoryType m_imageRepositoryType; bool m_imageRepositoryTypeHasBeenSet = false; }; } // namespace Model } // namespace AppRunner } // namespace Aws