/** * 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 the ARN's of a SageMaker image and SageMaker image version, and the * instance type that the version runs on.

See Also:

AWS * API Reference

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

The ARN of the SageMaker image that the image version belongs to.

*/ inline const Aws::String& GetSageMakerImageArn() const{ return m_sageMakerImageArn; } /** *

The ARN of the SageMaker image that the image version belongs to.

*/ inline bool SageMakerImageArnHasBeenSet() const { return m_sageMakerImageArnHasBeenSet; } /** *

The ARN of the SageMaker image that the image version belongs to.

*/ inline void SetSageMakerImageArn(const Aws::String& value) { m_sageMakerImageArnHasBeenSet = true; m_sageMakerImageArn = value; } /** *

The ARN of the SageMaker image that the image version belongs to.

*/ inline void SetSageMakerImageArn(Aws::String&& value) { m_sageMakerImageArnHasBeenSet = true; m_sageMakerImageArn = std::move(value); } /** *

The ARN of the SageMaker image that the image version belongs to.

*/ inline void SetSageMakerImageArn(const char* value) { m_sageMakerImageArnHasBeenSet = true; m_sageMakerImageArn.assign(value); } /** *

The ARN of the SageMaker image that the image version belongs to.

*/ inline ResourceSpec& WithSageMakerImageArn(const Aws::String& value) { SetSageMakerImageArn(value); return *this;} /** *

The ARN of the SageMaker image that the image version belongs to.

*/ inline ResourceSpec& WithSageMakerImageArn(Aws::String&& value) { SetSageMakerImageArn(std::move(value)); return *this;} /** *

The ARN of the SageMaker image that the image version belongs to.

*/ inline ResourceSpec& WithSageMakerImageArn(const char* value) { SetSageMakerImageArn(value); return *this;} /** *

The ARN of the image version created on the instance.

*/ inline const Aws::String& GetSageMakerImageVersionArn() const{ return m_sageMakerImageVersionArn; } /** *

The ARN of the image version created on the instance.

*/ inline bool SageMakerImageVersionArnHasBeenSet() const { return m_sageMakerImageVersionArnHasBeenSet; } /** *

The ARN of the image version created on the instance.

*/ inline void SetSageMakerImageVersionArn(const Aws::String& value) { m_sageMakerImageVersionArnHasBeenSet = true; m_sageMakerImageVersionArn = value; } /** *

The ARN of the image version created on the instance.

*/ inline void SetSageMakerImageVersionArn(Aws::String&& value) { m_sageMakerImageVersionArnHasBeenSet = true; m_sageMakerImageVersionArn = std::move(value); } /** *

The ARN of the image version created on the instance.

*/ inline void SetSageMakerImageVersionArn(const char* value) { m_sageMakerImageVersionArnHasBeenSet = true; m_sageMakerImageVersionArn.assign(value); } /** *

The ARN of the image version created on the instance.

*/ inline ResourceSpec& WithSageMakerImageVersionArn(const Aws::String& value) { SetSageMakerImageVersionArn(value); return *this;} /** *

The ARN of the image version created on the instance.

*/ inline ResourceSpec& WithSageMakerImageVersionArn(Aws::String&& value) { SetSageMakerImageVersionArn(std::move(value)); return *this;} /** *

The ARN of the image version created on the instance.

*/ inline ResourceSpec& WithSageMakerImageVersionArn(const char* value) { SetSageMakerImageVersionArn(value); return *this;} /** *

The instance type that the image version runs on.

* JupyterServer apps only support the system value.

For * KernelGateway apps, the system value is translated to * ml.t3.medium. KernelGateway apps also support all other values for * available instance types.

*/ inline const AppInstanceType& GetInstanceType() const{ return m_instanceType; } /** *

The instance type that the image version runs on.

* JupyterServer apps only support the system value.

For * KernelGateway apps, the system value is translated to * ml.t3.medium. KernelGateway apps also support all other values for * available instance types.

*/ inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; } /** *

The instance type that the image version runs on.

* JupyterServer apps only support the system value.

For * KernelGateway apps, the system value is translated to * ml.t3.medium. KernelGateway apps also support all other values for * available instance types.

*/ inline void SetInstanceType(const AppInstanceType& value) { m_instanceTypeHasBeenSet = true; m_instanceType = value; } /** *

The instance type that the image version runs on.

* JupyterServer apps only support the system value.

For * KernelGateway apps, the system value is translated to * ml.t3.medium. KernelGateway apps also support all other values for * available instance types.

*/ inline void SetInstanceType(AppInstanceType&& value) { m_instanceTypeHasBeenSet = true; m_instanceType = std::move(value); } /** *

The instance type that the image version runs on.

* JupyterServer apps only support the system value.

For * KernelGateway apps, the system value is translated to * ml.t3.medium. KernelGateway apps also support all other values for * available instance types.

*/ inline ResourceSpec& WithInstanceType(const AppInstanceType& value) { SetInstanceType(value); return *this;} /** *

The instance type that the image version runs on.

* JupyterServer apps only support the system value.

For * KernelGateway apps, the system value is translated to * ml.t3.medium. KernelGateway apps also support all other values for * available instance types.

*/ inline ResourceSpec& WithInstanceType(AppInstanceType&& value) { SetInstanceType(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the Lifecycle Configuration attached to * the Resource.

*/ inline const Aws::String& GetLifecycleConfigArn() const{ return m_lifecycleConfigArn; } /** *

The Amazon Resource Name (ARN) of the Lifecycle Configuration attached to * the Resource.

*/ inline bool LifecycleConfigArnHasBeenSet() const { return m_lifecycleConfigArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the Lifecycle Configuration attached to * the Resource.

*/ inline void SetLifecycleConfigArn(const Aws::String& value) { m_lifecycleConfigArnHasBeenSet = true; m_lifecycleConfigArn = value; } /** *

The Amazon Resource Name (ARN) of the Lifecycle Configuration attached to * the Resource.

*/ inline void SetLifecycleConfigArn(Aws::String&& value) { m_lifecycleConfigArnHasBeenSet = true; m_lifecycleConfigArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the Lifecycle Configuration attached to * the Resource.

*/ inline void SetLifecycleConfigArn(const char* value) { m_lifecycleConfigArnHasBeenSet = true; m_lifecycleConfigArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the Lifecycle Configuration attached to * the Resource.

*/ inline ResourceSpec& WithLifecycleConfigArn(const Aws::String& value) { SetLifecycleConfigArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the Lifecycle Configuration attached to * the Resource.

*/ inline ResourceSpec& WithLifecycleConfigArn(Aws::String&& value) { SetLifecycleConfigArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the Lifecycle Configuration attached to * the Resource.

*/ inline ResourceSpec& WithLifecycleConfigArn(const char* value) { SetLifecycleConfigArn(value); return *this;} private: Aws::String m_sageMakerImageArn; bool m_sageMakerImageArnHasBeenSet = false; Aws::String m_sageMakerImageVersionArn; bool m_sageMakerImageVersionArnHasBeenSet = false; AppInstanceType m_instanceType; bool m_instanceTypeHasBeenSet = false; Aws::String m_lifecycleConfigArn; bool m_lifecycleConfigArnHasBeenSet = false; }; } // namespace Model } // namespace SageMaker } // namespace Aws