/** * 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 SageMaker { namespace Model { /** *

Specifies whether the model container is in Amazon ECR or a private Docker * registry accessible from your Amazon Virtual Private Cloud (VPC).

See * Also:

AWS * API Reference

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

Set this to one of the following values:

  • * Platform - The model image is hosted in Amazon ECR.

  • *

    Vpc - The model image is hosted in a private Docker registry in * your VPC.

*/ inline const RepositoryAccessMode& GetRepositoryAccessMode() const{ return m_repositoryAccessMode; } /** *

Set this to one of the following values:

  • * Platform - The model image is hosted in Amazon ECR.

  • *

    Vpc - The model image is hosted in a private Docker registry in * your VPC.

*/ inline bool RepositoryAccessModeHasBeenSet() const { return m_repositoryAccessModeHasBeenSet; } /** *

Set this to one of the following values:

  • * Platform - The model image is hosted in Amazon ECR.

  • *

    Vpc - The model image is hosted in a private Docker registry in * your VPC.

*/ inline void SetRepositoryAccessMode(const RepositoryAccessMode& value) { m_repositoryAccessModeHasBeenSet = true; m_repositoryAccessMode = value; } /** *

Set this to one of the following values:

  • * Platform - The model image is hosted in Amazon ECR.

  • *

    Vpc - The model image is hosted in a private Docker registry in * your VPC.

*/ inline void SetRepositoryAccessMode(RepositoryAccessMode&& value) { m_repositoryAccessModeHasBeenSet = true; m_repositoryAccessMode = std::move(value); } /** *

Set this to one of the following values:

  • * Platform - The model image is hosted in Amazon ECR.

  • *

    Vpc - The model image is hosted in a private Docker registry in * your VPC.

*/ inline ImageConfig& WithRepositoryAccessMode(const RepositoryAccessMode& value) { SetRepositoryAccessMode(value); return *this;} /** *

Set this to one of the following values:

  • * Platform - The model image is hosted in Amazon ECR.

  • *

    Vpc - The model image is hosted in a private Docker registry in * your VPC.

*/ inline ImageConfig& WithRepositoryAccessMode(RepositoryAccessMode&& value) { SetRepositoryAccessMode(std::move(value)); return *this;} /** *

(Optional) Specifies an authentication configuration for the private docker * registry where your model image is hosted. Specify a value for this property * only if you specified Vpc as the value for the * RepositoryAccessMode field, and the private Docker registry where * the model image is hosted requires authentication.

*/ inline const RepositoryAuthConfig& GetRepositoryAuthConfig() const{ return m_repositoryAuthConfig; } /** *

(Optional) Specifies an authentication configuration for the private docker * registry where your model image is hosted. Specify a value for this property * only if you specified Vpc as the value for the * RepositoryAccessMode field, and the private Docker registry where * the model image is hosted requires authentication.

*/ inline bool RepositoryAuthConfigHasBeenSet() const { return m_repositoryAuthConfigHasBeenSet; } /** *

(Optional) Specifies an authentication configuration for the private docker * registry where your model image is hosted. Specify a value for this property * only if you specified Vpc as the value for the * RepositoryAccessMode field, and the private Docker registry where * the model image is hosted requires authentication.

*/ inline void SetRepositoryAuthConfig(const RepositoryAuthConfig& value) { m_repositoryAuthConfigHasBeenSet = true; m_repositoryAuthConfig = value; } /** *

(Optional) Specifies an authentication configuration for the private docker * registry where your model image is hosted. Specify a value for this property * only if you specified Vpc as the value for the * RepositoryAccessMode field, and the private Docker registry where * the model image is hosted requires authentication.

*/ inline void SetRepositoryAuthConfig(RepositoryAuthConfig&& value) { m_repositoryAuthConfigHasBeenSet = true; m_repositoryAuthConfig = std::move(value); } /** *

(Optional) Specifies an authentication configuration for the private docker * registry where your model image is hosted. Specify a value for this property * only if you specified Vpc as the value for the * RepositoryAccessMode field, and the private Docker registry where * the model image is hosted requires authentication.

*/ inline ImageConfig& WithRepositoryAuthConfig(const RepositoryAuthConfig& value) { SetRepositoryAuthConfig(value); return *this;} /** *

(Optional) Specifies an authentication configuration for the private docker * registry where your model image is hosted. Specify a value for this property * only if you specified Vpc as the value for the * RepositoryAccessMode field, and the private Docker registry where * the model image is hosted requires authentication.

*/ inline ImageConfig& WithRepositoryAuthConfig(RepositoryAuthConfig&& value) { SetRepositoryAuthConfig(std::move(value)); return *this;} private: RepositoryAccessMode m_repositoryAccessMode; bool m_repositoryAccessModeHasBeenSet = false; RepositoryAuthConfig m_repositoryAuthConfig; bool m_repositoryAuthConfigHasBeenSet = false; }; } // namespace Model } // namespace SageMaker } // namespace Aws