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

Networking options for a job, such as network traffic encryption between * containers, whether to allow inbound and outbound network calls to and from * containers, and the VPC subnets and security groups to use for VPC-enabled * jobs.

See Also:

AWS * API Reference

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

Whether to encrypt all communications between distributed processing jobs. * Choose True to encrypt communications. Encryption provides greater * security for distributed processing jobs, but the processing might take * longer.

*/ inline bool GetEnableInterContainerTrafficEncryption() const{ return m_enableInterContainerTrafficEncryption; } /** *

Whether to encrypt all communications between distributed processing jobs. * Choose True to encrypt communications. Encryption provides greater * security for distributed processing jobs, but the processing might take * longer.

*/ inline bool EnableInterContainerTrafficEncryptionHasBeenSet() const { return m_enableInterContainerTrafficEncryptionHasBeenSet; } /** *

Whether to encrypt all communications between distributed processing jobs. * Choose True to encrypt communications. Encryption provides greater * security for distributed processing jobs, but the processing might take * longer.

*/ inline void SetEnableInterContainerTrafficEncryption(bool value) { m_enableInterContainerTrafficEncryptionHasBeenSet = true; m_enableInterContainerTrafficEncryption = value; } /** *

Whether to encrypt all communications between distributed processing jobs. * Choose True to encrypt communications. Encryption provides greater * security for distributed processing jobs, but the processing might take * longer.

*/ inline NetworkConfig& WithEnableInterContainerTrafficEncryption(bool value) { SetEnableInterContainerTrafficEncryption(value); return *this;} /** *

Whether to allow inbound and outbound network calls to and from the * containers used for the processing job.

*/ inline bool GetEnableNetworkIsolation() const{ return m_enableNetworkIsolation; } /** *

Whether to allow inbound and outbound network calls to and from the * containers used for the processing job.

*/ inline bool EnableNetworkIsolationHasBeenSet() const { return m_enableNetworkIsolationHasBeenSet; } /** *

Whether to allow inbound and outbound network calls to and from the * containers used for the processing job.

*/ inline void SetEnableNetworkIsolation(bool value) { m_enableNetworkIsolationHasBeenSet = true; m_enableNetworkIsolation = value; } /** *

Whether to allow inbound and outbound network calls to and from the * containers used for the processing job.

*/ inline NetworkConfig& WithEnableNetworkIsolation(bool value) { SetEnableNetworkIsolation(value); return *this;} inline const VpcConfig& GetVpcConfig() const{ return m_vpcConfig; } inline bool VpcConfigHasBeenSet() const { return m_vpcConfigHasBeenSet; } inline void SetVpcConfig(const VpcConfig& value) { m_vpcConfigHasBeenSet = true; m_vpcConfig = value; } inline void SetVpcConfig(VpcConfig&& value) { m_vpcConfigHasBeenSet = true; m_vpcConfig = std::move(value); } inline NetworkConfig& WithVpcConfig(const VpcConfig& value) { SetVpcConfig(value); return *this;} inline NetworkConfig& WithVpcConfig(VpcConfig&& value) { SetVpcConfig(std::move(value)); return *this;} private: bool m_enableInterContainerTrafficEncryption; bool m_enableInterContainerTrafficEncryptionHasBeenSet = false; bool m_enableNetworkIsolation; bool m_enableNetworkIsolationHasBeenSet = false; VpcConfig m_vpcConfig; bool m_vpcConfigHasBeenSet = false; }; } // namespace Model } // namespace SageMaker } // namespace Aws