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

Information about a file system created by Amazon Elastic File System (EFS). * For more information, see What Is Amazon * Elastic File System?

See Also:

AWS * API Reference

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

The type of the file system. The one supported type is EFS. *

*/ inline const FileSystemType& GetType() const{ return m_type; } /** *

The type of the file system. The one supported type is EFS. *

*/ inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } /** *

The type of the file system. The one supported type is EFS. *

*/ inline void SetType(const FileSystemType& value) { m_typeHasBeenSet = true; m_type = value; } /** *

The type of the file system. The one supported type is EFS. *

*/ inline void SetType(FileSystemType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } /** *

The type of the file system. The one supported type is EFS. *

*/ inline ProjectFileSystemLocation& WithType(const FileSystemType& value) { SetType(value); return *this;} /** *

The type of the file system. The one supported type is EFS. *

*/ inline ProjectFileSystemLocation& WithType(FileSystemType&& value) { SetType(std::move(value)); return *this;} /** *

A string that specifies the location of the file system created by Amazon * EFS. Its format is efs-dns-name:/directory-path. You can find the * DNS name of file system when you view it in the Amazon EFS console. The * directory path is a path to a directory in the file system that CodeBuild * mounts. For example, if the DNS name of a file system is * fs-abcd1234.efs.us-west-2.amazonaws.com, and its mount directory is * my-efs-mount-directory, then the location is * fs-abcd1234.efs.us-west-2.amazonaws.com:/my-efs-mount-directory. *

The directory path in the format * efs-dns-name:/directory-path is optional. If you do not specify a * directory path, the location is only the DNS name and CodeBuild mounts the * entire file system.

*/ inline const Aws::String& GetLocation() const{ return m_location; } /** *

A string that specifies the location of the file system created by Amazon * EFS. Its format is efs-dns-name:/directory-path. You can find the * DNS name of file system when you view it in the Amazon EFS console. The * directory path is a path to a directory in the file system that CodeBuild * mounts. For example, if the DNS name of a file system is * fs-abcd1234.efs.us-west-2.amazonaws.com, and its mount directory is * my-efs-mount-directory, then the location is * fs-abcd1234.efs.us-west-2.amazonaws.com:/my-efs-mount-directory. *

The directory path in the format * efs-dns-name:/directory-path is optional. If you do not specify a * directory path, the location is only the DNS name and CodeBuild mounts the * entire file system.

*/ inline bool LocationHasBeenSet() const { return m_locationHasBeenSet; } /** *

A string that specifies the location of the file system created by Amazon * EFS. Its format is efs-dns-name:/directory-path. You can find the * DNS name of file system when you view it in the Amazon EFS console. The * directory path is a path to a directory in the file system that CodeBuild * mounts. For example, if the DNS name of a file system is * fs-abcd1234.efs.us-west-2.amazonaws.com, and its mount directory is * my-efs-mount-directory, then the location is * fs-abcd1234.efs.us-west-2.amazonaws.com:/my-efs-mount-directory. *

The directory path in the format * efs-dns-name:/directory-path is optional. If you do not specify a * directory path, the location is only the DNS name and CodeBuild mounts the * entire file system.

*/ inline void SetLocation(const Aws::String& value) { m_locationHasBeenSet = true; m_location = value; } /** *

A string that specifies the location of the file system created by Amazon * EFS. Its format is efs-dns-name:/directory-path. You can find the * DNS name of file system when you view it in the Amazon EFS console. The * directory path is a path to a directory in the file system that CodeBuild * mounts. For example, if the DNS name of a file system is * fs-abcd1234.efs.us-west-2.amazonaws.com, and its mount directory is * my-efs-mount-directory, then the location is * fs-abcd1234.efs.us-west-2.amazonaws.com:/my-efs-mount-directory. *

The directory path in the format * efs-dns-name:/directory-path is optional. If you do not specify a * directory path, the location is only the DNS name and CodeBuild mounts the * entire file system.

*/ inline void SetLocation(Aws::String&& value) { m_locationHasBeenSet = true; m_location = std::move(value); } /** *

A string that specifies the location of the file system created by Amazon * EFS. Its format is efs-dns-name:/directory-path. You can find the * DNS name of file system when you view it in the Amazon EFS console. The * directory path is a path to a directory in the file system that CodeBuild * mounts. For example, if the DNS name of a file system is * fs-abcd1234.efs.us-west-2.amazonaws.com, and its mount directory is * my-efs-mount-directory, then the location is * fs-abcd1234.efs.us-west-2.amazonaws.com:/my-efs-mount-directory. *

The directory path in the format * efs-dns-name:/directory-path is optional. If you do not specify a * directory path, the location is only the DNS name and CodeBuild mounts the * entire file system.

*/ inline void SetLocation(const char* value) { m_locationHasBeenSet = true; m_location.assign(value); } /** *

A string that specifies the location of the file system created by Amazon * EFS. Its format is efs-dns-name:/directory-path. You can find the * DNS name of file system when you view it in the Amazon EFS console. The * directory path is a path to a directory in the file system that CodeBuild * mounts. For example, if the DNS name of a file system is * fs-abcd1234.efs.us-west-2.amazonaws.com, and its mount directory is * my-efs-mount-directory, then the location is * fs-abcd1234.efs.us-west-2.amazonaws.com:/my-efs-mount-directory. *

The directory path in the format * efs-dns-name:/directory-path is optional. If you do not specify a * directory path, the location is only the DNS name and CodeBuild mounts the * entire file system.

*/ inline ProjectFileSystemLocation& WithLocation(const Aws::String& value) { SetLocation(value); return *this;} /** *

A string that specifies the location of the file system created by Amazon * EFS. Its format is efs-dns-name:/directory-path. You can find the * DNS name of file system when you view it in the Amazon EFS console. The * directory path is a path to a directory in the file system that CodeBuild * mounts. For example, if the DNS name of a file system is * fs-abcd1234.efs.us-west-2.amazonaws.com, and its mount directory is * my-efs-mount-directory, then the location is * fs-abcd1234.efs.us-west-2.amazonaws.com:/my-efs-mount-directory. *

The directory path in the format * efs-dns-name:/directory-path is optional. If you do not specify a * directory path, the location is only the DNS name and CodeBuild mounts the * entire file system.

*/ inline ProjectFileSystemLocation& WithLocation(Aws::String&& value) { SetLocation(std::move(value)); return *this;} /** *

A string that specifies the location of the file system created by Amazon * EFS. Its format is efs-dns-name:/directory-path. You can find the * DNS name of file system when you view it in the Amazon EFS console. The * directory path is a path to a directory in the file system that CodeBuild * mounts. For example, if the DNS name of a file system is * fs-abcd1234.efs.us-west-2.amazonaws.com, and its mount directory is * my-efs-mount-directory, then the location is * fs-abcd1234.efs.us-west-2.amazonaws.com:/my-efs-mount-directory. *

The directory path in the format * efs-dns-name:/directory-path is optional. If you do not specify a * directory path, the location is only the DNS name and CodeBuild mounts the * entire file system.

*/ inline ProjectFileSystemLocation& WithLocation(const char* value) { SetLocation(value); return *this;} /** *

The location in the container where you mount the file system.

*/ inline const Aws::String& GetMountPoint() const{ return m_mountPoint; } /** *

The location in the container where you mount the file system.

*/ inline bool MountPointHasBeenSet() const { return m_mountPointHasBeenSet; } /** *

The location in the container where you mount the file system.

*/ inline void SetMountPoint(const Aws::String& value) { m_mountPointHasBeenSet = true; m_mountPoint = value; } /** *

The location in the container where you mount the file system.

*/ inline void SetMountPoint(Aws::String&& value) { m_mountPointHasBeenSet = true; m_mountPoint = std::move(value); } /** *

The location in the container where you mount the file system.

*/ inline void SetMountPoint(const char* value) { m_mountPointHasBeenSet = true; m_mountPoint.assign(value); } /** *

The location in the container where you mount the file system.

*/ inline ProjectFileSystemLocation& WithMountPoint(const Aws::String& value) { SetMountPoint(value); return *this;} /** *

The location in the container where you mount the file system.

*/ inline ProjectFileSystemLocation& WithMountPoint(Aws::String&& value) { SetMountPoint(std::move(value)); return *this;} /** *

The location in the container where you mount the file system.

*/ inline ProjectFileSystemLocation& WithMountPoint(const char* value) { SetMountPoint(value); return *this;} /** *

The name used to access a file system created by Amazon EFS. CodeBuild * creates an environment variable by appending the identifier in all * capital letters to CODEBUILD_. For example, if you specify * my_efs for identifier, a new environment variable is * create named CODEBUILD_MY_EFS.

The identifier * is used to mount your file system.

*/ inline const Aws::String& GetIdentifier() const{ return m_identifier; } /** *

The name used to access a file system created by Amazon EFS. CodeBuild * creates an environment variable by appending the identifier in all * capital letters to CODEBUILD_. For example, if you specify * my_efs for identifier, a new environment variable is * create named CODEBUILD_MY_EFS.

The identifier * is used to mount your file system.

*/ inline bool IdentifierHasBeenSet() const { return m_identifierHasBeenSet; } /** *

The name used to access a file system created by Amazon EFS. CodeBuild * creates an environment variable by appending the identifier in all * capital letters to CODEBUILD_. For example, if you specify * my_efs for identifier, a new environment variable is * create named CODEBUILD_MY_EFS.

The identifier * is used to mount your file system.

*/ inline void SetIdentifier(const Aws::String& value) { m_identifierHasBeenSet = true; m_identifier = value; } /** *

The name used to access a file system created by Amazon EFS. CodeBuild * creates an environment variable by appending the identifier in all * capital letters to CODEBUILD_. For example, if you specify * my_efs for identifier, a new environment variable is * create named CODEBUILD_MY_EFS.

The identifier * is used to mount your file system.

*/ inline void SetIdentifier(Aws::String&& value) { m_identifierHasBeenSet = true; m_identifier = std::move(value); } /** *

The name used to access a file system created by Amazon EFS. CodeBuild * creates an environment variable by appending the identifier in all * capital letters to CODEBUILD_. For example, if you specify * my_efs for identifier, a new environment variable is * create named CODEBUILD_MY_EFS.

The identifier * is used to mount your file system.

*/ inline void SetIdentifier(const char* value) { m_identifierHasBeenSet = true; m_identifier.assign(value); } /** *

The name used to access a file system created by Amazon EFS. CodeBuild * creates an environment variable by appending the identifier in all * capital letters to CODEBUILD_. For example, if you specify * my_efs for identifier, a new environment variable is * create named CODEBUILD_MY_EFS.

The identifier * is used to mount your file system.

*/ inline ProjectFileSystemLocation& WithIdentifier(const Aws::String& value) { SetIdentifier(value); return *this;} /** *

The name used to access a file system created by Amazon EFS. CodeBuild * creates an environment variable by appending the identifier in all * capital letters to CODEBUILD_. For example, if you specify * my_efs for identifier, a new environment variable is * create named CODEBUILD_MY_EFS.

The identifier * is used to mount your file system.

*/ inline ProjectFileSystemLocation& WithIdentifier(Aws::String&& value) { SetIdentifier(std::move(value)); return *this;} /** *

The name used to access a file system created by Amazon EFS. CodeBuild * creates an environment variable by appending the identifier in all * capital letters to CODEBUILD_. For example, if you specify * my_efs for identifier, a new environment variable is * create named CODEBUILD_MY_EFS.

The identifier * is used to mount your file system.

*/ inline ProjectFileSystemLocation& WithIdentifier(const char* value) { SetIdentifier(value); return *this;} /** *

The mount options for a file system created by Amazon EFS. The default mount * options used by CodeBuild are * nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2. * For more information, see Recommended * NFS Mount Options.

*/ inline const Aws::String& GetMountOptions() const{ return m_mountOptions; } /** *

The mount options for a file system created by Amazon EFS. The default mount * options used by CodeBuild are * nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2. * For more information, see Recommended * NFS Mount Options.

*/ inline bool MountOptionsHasBeenSet() const { return m_mountOptionsHasBeenSet; } /** *

The mount options for a file system created by Amazon EFS. The default mount * options used by CodeBuild are * nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2. * For more information, see Recommended * NFS Mount Options.

*/ inline void SetMountOptions(const Aws::String& value) { m_mountOptionsHasBeenSet = true; m_mountOptions = value; } /** *

The mount options for a file system created by Amazon EFS. The default mount * options used by CodeBuild are * nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2. * For more information, see Recommended * NFS Mount Options.

*/ inline void SetMountOptions(Aws::String&& value) { m_mountOptionsHasBeenSet = true; m_mountOptions = std::move(value); } /** *

The mount options for a file system created by Amazon EFS. The default mount * options used by CodeBuild are * nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2. * For more information, see Recommended * NFS Mount Options.

*/ inline void SetMountOptions(const char* value) { m_mountOptionsHasBeenSet = true; m_mountOptions.assign(value); } /** *

The mount options for a file system created by Amazon EFS. The default mount * options used by CodeBuild are * nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2. * For more information, see Recommended * NFS Mount Options.

*/ inline ProjectFileSystemLocation& WithMountOptions(const Aws::String& value) { SetMountOptions(value); return *this;} /** *

The mount options for a file system created by Amazon EFS. The default mount * options used by CodeBuild are * nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2. * For more information, see Recommended * NFS Mount Options.

*/ inline ProjectFileSystemLocation& WithMountOptions(Aws::String&& value) { SetMountOptions(std::move(value)); return *this;} /** *

The mount options for a file system created by Amazon EFS. The default mount * options used by CodeBuild are * nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2. * For more information, see Recommended * NFS Mount Options.

*/ inline ProjectFileSystemLocation& WithMountOptions(const char* value) { SetMountOptions(value); return *this;} private: FileSystemType m_type; bool m_typeHasBeenSet = false; Aws::String m_location; bool m_locationHasBeenSet = false; Aws::String m_mountPoint; bool m_mountPointHasBeenSet = false; Aws::String m_identifier; bool m_identifierHasBeenSet = false; Aws::String m_mountOptions; bool m_mountOptionsHasBeenSet = false; }; } // namespace Model } // namespace CodeBuild } // namespace Aws