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

Provides a description of an EFS file system access point.

See * Also:

AWS * API Reference

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

The opaque string specified in the request to ensure idempotent creation.

*/ inline const Aws::String& GetClientToken() const{ return m_clientToken; } /** *

The opaque string specified in the request to ensure idempotent creation.

*/ inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } /** *

The opaque string specified in the request to ensure idempotent creation.

*/ inline void SetClientToken(const Aws::String& value) { m_clientTokenHasBeenSet = true; m_clientToken = value; } /** *

The opaque string specified in the request to ensure idempotent creation.

*/ inline void SetClientToken(Aws::String&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::move(value); } /** *

The opaque string specified in the request to ensure idempotent creation.

*/ inline void SetClientToken(const char* value) { m_clientTokenHasBeenSet = true; m_clientToken.assign(value); } /** *

The opaque string specified in the request to ensure idempotent creation.

*/ inline AccessPointDescription& WithClientToken(const Aws::String& value) { SetClientToken(value); return *this;} /** *

The opaque string specified in the request to ensure idempotent creation.

*/ inline AccessPointDescription& WithClientToken(Aws::String&& value) { SetClientToken(std::move(value)); return *this;} /** *

The opaque string specified in the request to ensure idempotent creation.

*/ inline AccessPointDescription& WithClientToken(const char* value) { SetClientToken(value); return *this;} /** *

The name of the access point. This is the value of the Name * tag.

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

The name of the access point. This is the value of the Name * tag.

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

The name of the access point. This is the value of the Name * tag.

*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *

The name of the access point. This is the value of the Name * tag.

*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

The name of the access point. This is the value of the Name * tag.

*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

The name of the access point. This is the value of the Name * tag.

*/ inline AccessPointDescription& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

The name of the access point. This is the value of the Name * tag.

*/ inline AccessPointDescription& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

The name of the access point. This is the value of the Name * tag.

*/ inline AccessPointDescription& WithName(const char* value) { SetName(value); return *this;} /** *

The tags associated with the access point, presented as an array of Tag * objects.

*/ inline const Aws::Vector& GetTags() const{ return m_tags; } /** *

The tags associated with the access point, presented as an array of Tag * objects.

*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *

The tags associated with the access point, presented as an array of Tag * objects.

*/ inline void SetTags(const Aws::Vector& value) { m_tagsHasBeenSet = true; m_tags = value; } /** *

The tags associated with the access point, presented as an array of Tag * objects.

*/ inline void SetTags(Aws::Vector&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } /** *

The tags associated with the access point, presented as an array of Tag * objects.

*/ inline AccessPointDescription& WithTags(const Aws::Vector& value) { SetTags(value); return *this;} /** *

The tags associated with the access point, presented as an array of Tag * objects.

*/ inline AccessPointDescription& WithTags(Aws::Vector&& value) { SetTags(std::move(value)); return *this;} /** *

The tags associated with the access point, presented as an array of Tag * objects.

*/ inline AccessPointDescription& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } /** *

The tags associated with the access point, presented as an array of Tag * objects.

*/ inline AccessPointDescription& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } /** *

The ID of the access point, assigned by Amazon EFS.

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

The ID of the access point, assigned by Amazon EFS.

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

The ID of the access point, assigned by Amazon EFS.

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

The ID of the access point, assigned by Amazon EFS.

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

The ID of the access point, assigned by Amazon EFS.

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

The ID of the access point, assigned by Amazon EFS.

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

The ID of the access point, assigned by Amazon EFS.

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

The ID of the access point, assigned by Amazon EFS.

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

The unique Amazon Resource Name (ARN) associated with the access point.

*/ inline const Aws::String& GetAccessPointArn() const{ return m_accessPointArn; } /** *

The unique Amazon Resource Name (ARN) associated with the access point.

*/ inline bool AccessPointArnHasBeenSet() const { return m_accessPointArnHasBeenSet; } /** *

The unique Amazon Resource Name (ARN) associated with the access point.

*/ inline void SetAccessPointArn(const Aws::String& value) { m_accessPointArnHasBeenSet = true; m_accessPointArn = value; } /** *

The unique Amazon Resource Name (ARN) associated with the access point.

*/ inline void SetAccessPointArn(Aws::String&& value) { m_accessPointArnHasBeenSet = true; m_accessPointArn = std::move(value); } /** *

The unique Amazon Resource Name (ARN) associated with the access point.

*/ inline void SetAccessPointArn(const char* value) { m_accessPointArnHasBeenSet = true; m_accessPointArn.assign(value); } /** *

The unique Amazon Resource Name (ARN) associated with the access point.

*/ inline AccessPointDescription& WithAccessPointArn(const Aws::String& value) { SetAccessPointArn(value); return *this;} /** *

The unique Amazon Resource Name (ARN) associated with the access point.

*/ inline AccessPointDescription& WithAccessPointArn(Aws::String&& value) { SetAccessPointArn(std::move(value)); return *this;} /** *

The unique Amazon Resource Name (ARN) associated with the access point.

*/ inline AccessPointDescription& WithAccessPointArn(const char* value) { SetAccessPointArn(value); return *this;} /** *

The ID of the EFS file system that the access point applies to.

*/ inline const Aws::String& GetFileSystemId() const{ return m_fileSystemId; } /** *

The ID of the EFS file system that the access point applies to.

*/ inline bool FileSystemIdHasBeenSet() const { return m_fileSystemIdHasBeenSet; } /** *

The ID of the EFS file system that the access point applies to.

*/ inline void SetFileSystemId(const Aws::String& value) { m_fileSystemIdHasBeenSet = true; m_fileSystemId = value; } /** *

The ID of the EFS file system that the access point applies to.

*/ inline void SetFileSystemId(Aws::String&& value) { m_fileSystemIdHasBeenSet = true; m_fileSystemId = std::move(value); } /** *

The ID of the EFS file system that the access point applies to.

*/ inline void SetFileSystemId(const char* value) { m_fileSystemIdHasBeenSet = true; m_fileSystemId.assign(value); } /** *

The ID of the EFS file system that the access point applies to.

*/ inline AccessPointDescription& WithFileSystemId(const Aws::String& value) { SetFileSystemId(value); return *this;} /** *

The ID of the EFS file system that the access point applies to.

*/ inline AccessPointDescription& WithFileSystemId(Aws::String&& value) { SetFileSystemId(std::move(value)); return *this;} /** *

The ID of the EFS file system that the access point applies to.

*/ inline AccessPointDescription& WithFileSystemId(const char* value) { SetFileSystemId(value); return *this;} /** *

The full POSIX identity, including the user ID, group ID, and secondary group * IDs on the access point that is used for all file operations by NFS clients * using the access point.

*/ inline const PosixUser& GetPosixUser() const{ return m_posixUser; } /** *

The full POSIX identity, including the user ID, group ID, and secondary group * IDs on the access point that is used for all file operations by NFS clients * using the access point.

*/ inline bool PosixUserHasBeenSet() const { return m_posixUserHasBeenSet; } /** *

The full POSIX identity, including the user ID, group ID, and secondary group * IDs on the access point that is used for all file operations by NFS clients * using the access point.

*/ inline void SetPosixUser(const PosixUser& value) { m_posixUserHasBeenSet = true; m_posixUser = value; } /** *

The full POSIX identity, including the user ID, group ID, and secondary group * IDs on the access point that is used for all file operations by NFS clients * using the access point.

*/ inline void SetPosixUser(PosixUser&& value) { m_posixUserHasBeenSet = true; m_posixUser = std::move(value); } /** *

The full POSIX identity, including the user ID, group ID, and secondary group * IDs on the access point that is used for all file operations by NFS clients * using the access point.

*/ inline AccessPointDescription& WithPosixUser(const PosixUser& value) { SetPosixUser(value); return *this;} /** *

The full POSIX identity, including the user ID, group ID, and secondary group * IDs on the access point that is used for all file operations by NFS clients * using the access point.

*/ inline AccessPointDescription& WithPosixUser(PosixUser&& value) { SetPosixUser(std::move(value)); return *this;} /** *

The directory on the Amazon EFS file system that the access point exposes as * the root directory to NFS clients using the access point.

*/ inline const RootDirectory& GetRootDirectory() const{ return m_rootDirectory; } /** *

The directory on the Amazon EFS file system that the access point exposes as * the root directory to NFS clients using the access point.

*/ inline bool RootDirectoryHasBeenSet() const { return m_rootDirectoryHasBeenSet; } /** *

The directory on the Amazon EFS file system that the access point exposes as * the root directory to NFS clients using the access point.

*/ inline void SetRootDirectory(const RootDirectory& value) { m_rootDirectoryHasBeenSet = true; m_rootDirectory = value; } /** *

The directory on the Amazon EFS file system that the access point exposes as * the root directory to NFS clients using the access point.

*/ inline void SetRootDirectory(RootDirectory&& value) { m_rootDirectoryHasBeenSet = true; m_rootDirectory = std::move(value); } /** *

The directory on the Amazon EFS file system that the access point exposes as * the root directory to NFS clients using the access point.

*/ inline AccessPointDescription& WithRootDirectory(const RootDirectory& value) { SetRootDirectory(value); return *this;} /** *

The directory on the Amazon EFS file system that the access point exposes as * the root directory to NFS clients using the access point.

*/ inline AccessPointDescription& WithRootDirectory(RootDirectory&& value) { SetRootDirectory(std::move(value)); return *this;} /** *

Identifies the Amazon Web Services account that owns the access point * resource.

*/ inline const Aws::String& GetOwnerId() const{ return m_ownerId; } /** *

Identifies the Amazon Web Services account that owns the access point * resource.

*/ inline bool OwnerIdHasBeenSet() const { return m_ownerIdHasBeenSet; } /** *

Identifies the Amazon Web Services account that owns the access point * resource.

*/ inline void SetOwnerId(const Aws::String& value) { m_ownerIdHasBeenSet = true; m_ownerId = value; } /** *

Identifies the Amazon Web Services account that owns the access point * resource.

*/ inline void SetOwnerId(Aws::String&& value) { m_ownerIdHasBeenSet = true; m_ownerId = std::move(value); } /** *

Identifies the Amazon Web Services account that owns the access point * resource.

*/ inline void SetOwnerId(const char* value) { m_ownerIdHasBeenSet = true; m_ownerId.assign(value); } /** *

Identifies the Amazon Web Services account that owns the access point * resource.

*/ inline AccessPointDescription& WithOwnerId(const Aws::String& value) { SetOwnerId(value); return *this;} /** *

Identifies the Amazon Web Services account that owns the access point * resource.

*/ inline AccessPointDescription& WithOwnerId(Aws::String&& value) { SetOwnerId(std::move(value)); return *this;} /** *

Identifies the Amazon Web Services account that owns the access point * resource.

*/ inline AccessPointDescription& WithOwnerId(const char* value) { SetOwnerId(value); return *this;} /** *

Identifies the lifecycle phase of the access point.

*/ inline const LifeCycleState& GetLifeCycleState() const{ return m_lifeCycleState; } /** *

Identifies the lifecycle phase of the access point.

*/ inline bool LifeCycleStateHasBeenSet() const { return m_lifeCycleStateHasBeenSet; } /** *

Identifies the lifecycle phase of the access point.

*/ inline void SetLifeCycleState(const LifeCycleState& value) { m_lifeCycleStateHasBeenSet = true; m_lifeCycleState = value; } /** *

Identifies the lifecycle phase of the access point.

*/ inline void SetLifeCycleState(LifeCycleState&& value) { m_lifeCycleStateHasBeenSet = true; m_lifeCycleState = std::move(value); } /** *

Identifies the lifecycle phase of the access point.

*/ inline AccessPointDescription& WithLifeCycleState(const LifeCycleState& value) { SetLifeCycleState(value); return *this;} /** *

Identifies the lifecycle phase of the access point.

*/ inline AccessPointDescription& WithLifeCycleState(LifeCycleState&& value) { SetLifeCycleState(std::move(value)); return *this;} inline const Aws::String& GetRequestId() const{ return m_requestId; } inline bool RequestIdHasBeenSet() const { return m_requestIdHasBeenSet; } inline void SetRequestId(const Aws::String& value) { m_requestIdHasBeenSet = true; m_requestId = value; } inline void SetRequestId(Aws::String&& value) { m_requestIdHasBeenSet = true; m_requestId = std::move(value); } inline void SetRequestId(const char* value) { m_requestIdHasBeenSet = true; m_requestId.assign(value); } inline AccessPointDescription& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} inline AccessPointDescription& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} inline AccessPointDescription& WithRequestId(const char* value) { SetRequestId(value); return *this;} private: Aws::String m_clientToken; bool m_clientTokenHasBeenSet = false; Aws::String m_name; bool m_nameHasBeenSet = false; Aws::Vector m_tags; bool m_tagsHasBeenSet = false; Aws::String m_accessPointId; bool m_accessPointIdHasBeenSet = false; Aws::String m_accessPointArn; bool m_accessPointArnHasBeenSet = false; Aws::String m_fileSystemId; bool m_fileSystemIdHasBeenSet = false; PosixUser m_posixUser; bool m_posixUserHasBeenSet = false; RootDirectory m_rootDirectory; bool m_rootDirectoryHasBeenSet = false; Aws::String m_ownerId; bool m_ownerIdHasBeenSet = false; LifeCycleState m_lifeCycleState; bool m_lifeCycleStateHasBeenSet = false; Aws::String m_requestId; bool m_requestIdHasBeenSet = false; }; } // namespace Model } // namespace EFS } // namespace Aws