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

The authorization configuration details for the Amazon EFS file * system.

See Also:

AWS * API Reference

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

The Amazon EFS access point ID to use. If an access point is specified, the * root directory value specified in the EFSVolumeConfiguration must * either be omitted or set to / which enforces the path set on the * EFS access point. If an access point is used, transit encryption must be enabled * in the EFSVolumeConfiguration. For more information, see Working * with Amazon EFS access points in the Amazon Elastic File System User * Guide.

*/ inline const Aws::String& GetAccessPointId() const{ return m_accessPointId; } /** *

The Amazon EFS access point ID to use. If an access point is specified, the * root directory value specified in the EFSVolumeConfiguration must * either be omitted or set to / which enforces the path set on the * EFS access point. If an access point is used, transit encryption must be enabled * in the EFSVolumeConfiguration. For more information, see Working * with Amazon EFS access points in the Amazon Elastic File System User * Guide.

*/ inline bool AccessPointIdHasBeenSet() const { return m_accessPointIdHasBeenSet; } /** *

The Amazon EFS access point ID to use. If an access point is specified, the * root directory value specified in the EFSVolumeConfiguration must * either be omitted or set to / which enforces the path set on the * EFS access point. If an access point is used, transit encryption must be enabled * in the EFSVolumeConfiguration. For more information, see Working * with Amazon EFS access points in the Amazon Elastic File System User * Guide.

*/ inline void SetAccessPointId(const Aws::String& value) { m_accessPointIdHasBeenSet = true; m_accessPointId = value; } /** *

The Amazon EFS access point ID to use. If an access point is specified, the * root directory value specified in the EFSVolumeConfiguration must * either be omitted or set to / which enforces the path set on the * EFS access point. If an access point is used, transit encryption must be enabled * in the EFSVolumeConfiguration. For more information, see Working * with Amazon EFS access points in the Amazon Elastic File System User * Guide.

*/ inline void SetAccessPointId(Aws::String&& value) { m_accessPointIdHasBeenSet = true; m_accessPointId = std::move(value); } /** *

The Amazon EFS access point ID to use. If an access point is specified, the * root directory value specified in the EFSVolumeConfiguration must * either be omitted or set to / which enforces the path set on the * EFS access point. If an access point is used, transit encryption must be enabled * in the EFSVolumeConfiguration. For more information, see Working * with Amazon EFS access points in the Amazon Elastic File System User * Guide.

*/ inline void SetAccessPointId(const char* value) { m_accessPointIdHasBeenSet = true; m_accessPointId.assign(value); } /** *

The Amazon EFS access point ID to use. If an access point is specified, the * root directory value specified in the EFSVolumeConfiguration must * either be omitted or set to / which enforces the path set on the * EFS access point. If an access point is used, transit encryption must be enabled * in the EFSVolumeConfiguration. For more information, see Working * with Amazon EFS access points in the Amazon Elastic File System User * Guide.

*/ inline EFSAuthorizationConfig& WithAccessPointId(const Aws::String& value) { SetAccessPointId(value); return *this;} /** *

The Amazon EFS access point ID to use. If an access point is specified, the * root directory value specified in the EFSVolumeConfiguration must * either be omitted or set to / which enforces the path set on the * EFS access point. If an access point is used, transit encryption must be enabled * in the EFSVolumeConfiguration. For more information, see Working * with Amazon EFS access points in the Amazon Elastic File System User * Guide.

*/ inline EFSAuthorizationConfig& WithAccessPointId(Aws::String&& value) { SetAccessPointId(std::move(value)); return *this;} /** *

The Amazon EFS access point ID to use. If an access point is specified, the * root directory value specified in the EFSVolumeConfiguration must * either be omitted or set to / which enforces the path set on the * EFS access point. If an access point is used, transit encryption must be enabled * in the EFSVolumeConfiguration. For more information, see Working * with Amazon EFS access points in the Amazon Elastic File System User * Guide.

*/ inline EFSAuthorizationConfig& WithAccessPointId(const char* value) { SetAccessPointId(value); return *this;} /** *

Whether or not to use the Batch job IAM role defined in a job definition when * mounting the Amazon EFS file system. If enabled, transit encryption must be * enabled in the EFSVolumeConfiguration. If this parameter is * omitted, the default value of DISABLED is used. For more * information, see Using * Amazon EFS access points in the Batch User Guide. EFS IAM * authorization requires that TransitEncryption be * ENABLED and that a JobRoleArn is specified.

*/ inline const EFSAuthorizationConfigIAM& GetIam() const{ return m_iam; } /** *

Whether or not to use the Batch job IAM role defined in a job definition when * mounting the Amazon EFS file system. If enabled, transit encryption must be * enabled in the EFSVolumeConfiguration. If this parameter is * omitted, the default value of DISABLED is used. For more * information, see Using * Amazon EFS access points in the Batch User Guide. EFS IAM * authorization requires that TransitEncryption be * ENABLED and that a JobRoleArn is specified.

*/ inline bool IamHasBeenSet() const { return m_iamHasBeenSet; } /** *

Whether or not to use the Batch job IAM role defined in a job definition when * mounting the Amazon EFS file system. If enabled, transit encryption must be * enabled in the EFSVolumeConfiguration. If this parameter is * omitted, the default value of DISABLED is used. For more * information, see Using * Amazon EFS access points in the Batch User Guide. EFS IAM * authorization requires that TransitEncryption be * ENABLED and that a JobRoleArn is specified.

*/ inline void SetIam(const EFSAuthorizationConfigIAM& value) { m_iamHasBeenSet = true; m_iam = value; } /** *

Whether or not to use the Batch job IAM role defined in a job definition when * mounting the Amazon EFS file system. If enabled, transit encryption must be * enabled in the EFSVolumeConfiguration. If this parameter is * omitted, the default value of DISABLED is used. For more * information, see Using * Amazon EFS access points in the Batch User Guide. EFS IAM * authorization requires that TransitEncryption be * ENABLED and that a JobRoleArn is specified.

*/ inline void SetIam(EFSAuthorizationConfigIAM&& value) { m_iamHasBeenSet = true; m_iam = std::move(value); } /** *

Whether or not to use the Batch job IAM role defined in a job definition when * mounting the Amazon EFS file system. If enabled, transit encryption must be * enabled in the EFSVolumeConfiguration. If this parameter is * omitted, the default value of DISABLED is used. For more * information, see Using * Amazon EFS access points in the Batch User Guide. EFS IAM * authorization requires that TransitEncryption be * ENABLED and that a JobRoleArn is specified.

*/ inline EFSAuthorizationConfig& WithIam(const EFSAuthorizationConfigIAM& value) { SetIam(value); return *this;} /** *

Whether or not to use the Batch job IAM role defined in a job definition when * mounting the Amazon EFS file system. If enabled, transit encryption must be * enabled in the EFSVolumeConfiguration. If this parameter is * omitted, the default value of DISABLED is used. For more * information, see Using * Amazon EFS access points in the Batch User Guide. EFS IAM * authorization requires that TransitEncryption be * ENABLED and that a JobRoleArn is specified.

*/ inline EFSAuthorizationConfig& WithIam(EFSAuthorizationConfigIAM&& value) { SetIam(std::move(value)); return *this;} private: Aws::String m_accessPointId; bool m_accessPointIdHasBeenSet = false; EFSAuthorizationConfigIAM m_iam; bool m_iamHasBeenSet = false; }; } // namespace Model } // namespace Batch } // namespace Aws