1 /** 2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 * SPDX-License-Identifier: Apache-2.0. 4 */ 5 6 #pragma once 7 #include <aws/codebuild/CodeBuild_EXPORTS.h> 8 #include <aws/codebuild/model/FileSystemType.h> 9 #include <aws/core/utils/memory/stl/AWSString.h> 10 #include <utility> 11 12 namespace Aws 13 { 14 namespace Utils 15 { 16 namespace Json 17 { 18 class JsonValue; 19 class JsonView; 20 } // namespace Json 21 } // namespace Utils 22 namespace CodeBuild 23 { 24 namespace Model 25 { 26 27 /** 28 * <p> Information about a file system created by Amazon Elastic File System (EFS). 29 * For more information, see <a 30 * href="https://docs.aws.amazon.com/efs/latest/ug/whatisefs.html">What Is Amazon 31 * Elastic File System?</a> </p><p><h3>See Also:</h3> <a 32 * href="http://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ProjectFileSystemLocation">AWS 33 * API Reference</a></p> 34 */ 35 class AWS_CODEBUILD_API ProjectFileSystemLocation 36 { 37 public: 38 ProjectFileSystemLocation(); 39 ProjectFileSystemLocation(Aws::Utils::Json::JsonView jsonValue); 40 ProjectFileSystemLocation& operator=(Aws::Utils::Json::JsonView jsonValue); 41 Aws::Utils::Json::JsonValue Jsonize() const; 42 43 44 /** 45 * <p> The type of the file system. The one supported type is <code>EFS</code>. 46 * </p> 47 */ GetType()48 inline const FileSystemType& GetType() const{ return m_type; } 49 50 /** 51 * <p> The type of the file system. The one supported type is <code>EFS</code>. 52 * </p> 53 */ TypeHasBeenSet()54 inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } 55 56 /** 57 * <p> The type of the file system. The one supported type is <code>EFS</code>. 58 * </p> 59 */ SetType(const FileSystemType & value)60 inline void SetType(const FileSystemType& value) { m_typeHasBeenSet = true; m_type = value; } 61 62 /** 63 * <p> The type of the file system. The one supported type is <code>EFS</code>. 64 * </p> 65 */ SetType(FileSystemType && value)66 inline void SetType(FileSystemType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } 67 68 /** 69 * <p> The type of the file system. The one supported type is <code>EFS</code>. 70 * </p> 71 */ WithType(const FileSystemType & value)72 inline ProjectFileSystemLocation& WithType(const FileSystemType& value) { SetType(value); return *this;} 73 74 /** 75 * <p> The type of the file system. The one supported type is <code>EFS</code>. 76 * </p> 77 */ WithType(FileSystemType && value)78 inline ProjectFileSystemLocation& WithType(FileSystemType&& value) { SetType(std::move(value)); return *this;} 79 80 81 /** 82 * <p>A string that specifies the location of the file system created by Amazon 83 * EFS. Its format is <code>efs-dns-name:/directory-path</code>. You can find the 84 * DNS name of file system when you view it in the Amazon EFS console. The 85 * directory path is a path to a directory in the file system that CodeBuild 86 * mounts. For example, if the DNS name of a file system is 87 * <code>fs-abcd1234.efs.us-west-2.amazonaws.com</code>, and its mount directory is 88 * <code>my-efs-mount-directory</code>, then the <code>location</code> is 89 * <code>fs-abcd1234.efs.us-west-2.amazonaws.com:/my-efs-mount-directory</code>. 90 * </p> <p>The directory path in the format 91 * <code>efs-dns-name:/directory-path</code> is optional. If you do not specify a 92 * directory path, the location is only the DNS name and CodeBuild mounts the 93 * entire file system. </p> 94 */ GetLocation()95 inline const Aws::String& GetLocation() const{ return m_location; } 96 97 /** 98 * <p>A string that specifies the location of the file system created by Amazon 99 * EFS. Its format is <code>efs-dns-name:/directory-path</code>. You can find the 100 * DNS name of file system when you view it in the Amazon EFS console. The 101 * directory path is a path to a directory in the file system that CodeBuild 102 * mounts. For example, if the DNS name of a file system is 103 * <code>fs-abcd1234.efs.us-west-2.amazonaws.com</code>, and its mount directory is 104 * <code>my-efs-mount-directory</code>, then the <code>location</code> is 105 * <code>fs-abcd1234.efs.us-west-2.amazonaws.com:/my-efs-mount-directory</code>. 106 * </p> <p>The directory path in the format 107 * <code>efs-dns-name:/directory-path</code> is optional. If you do not specify a 108 * directory path, the location is only the DNS name and CodeBuild mounts the 109 * entire file system. </p> 110 */ LocationHasBeenSet()111 inline bool LocationHasBeenSet() const { return m_locationHasBeenSet; } 112 113 /** 114 * <p>A string that specifies the location of the file system created by Amazon 115 * EFS. Its format is <code>efs-dns-name:/directory-path</code>. You can find the 116 * DNS name of file system when you view it in the Amazon EFS console. The 117 * directory path is a path to a directory in the file system that CodeBuild 118 * mounts. For example, if the DNS name of a file system is 119 * <code>fs-abcd1234.efs.us-west-2.amazonaws.com</code>, and its mount directory is 120 * <code>my-efs-mount-directory</code>, then the <code>location</code> is 121 * <code>fs-abcd1234.efs.us-west-2.amazonaws.com:/my-efs-mount-directory</code>. 122 * </p> <p>The directory path in the format 123 * <code>efs-dns-name:/directory-path</code> is optional. If you do not specify a 124 * directory path, the location is only the DNS name and CodeBuild mounts the 125 * entire file system. </p> 126 */ SetLocation(const Aws::String & value)127 inline void SetLocation(const Aws::String& value) { m_locationHasBeenSet = true; m_location = value; } 128 129 /** 130 * <p>A string that specifies the location of the file system created by Amazon 131 * EFS. Its format is <code>efs-dns-name:/directory-path</code>. You can find the 132 * DNS name of file system when you view it in the Amazon EFS console. The 133 * directory path is a path to a directory in the file system that CodeBuild 134 * mounts. For example, if the DNS name of a file system is 135 * <code>fs-abcd1234.efs.us-west-2.amazonaws.com</code>, and its mount directory is 136 * <code>my-efs-mount-directory</code>, then the <code>location</code> is 137 * <code>fs-abcd1234.efs.us-west-2.amazonaws.com:/my-efs-mount-directory</code>. 138 * </p> <p>The directory path in the format 139 * <code>efs-dns-name:/directory-path</code> is optional. If you do not specify a 140 * directory path, the location is only the DNS name and CodeBuild mounts the 141 * entire file system. </p> 142 */ SetLocation(Aws::String && value)143 inline void SetLocation(Aws::String&& value) { m_locationHasBeenSet = true; m_location = std::move(value); } 144 145 /** 146 * <p>A string that specifies the location of the file system created by Amazon 147 * EFS. Its format is <code>efs-dns-name:/directory-path</code>. You can find the 148 * DNS name of file system when you view it in the Amazon EFS console. The 149 * directory path is a path to a directory in the file system that CodeBuild 150 * mounts. For example, if the DNS name of a file system is 151 * <code>fs-abcd1234.efs.us-west-2.amazonaws.com</code>, and its mount directory is 152 * <code>my-efs-mount-directory</code>, then the <code>location</code> is 153 * <code>fs-abcd1234.efs.us-west-2.amazonaws.com:/my-efs-mount-directory</code>. 154 * </p> <p>The directory path in the format 155 * <code>efs-dns-name:/directory-path</code> is optional. If you do not specify a 156 * directory path, the location is only the DNS name and CodeBuild mounts the 157 * entire file system. </p> 158 */ SetLocation(const char * value)159 inline void SetLocation(const char* value) { m_locationHasBeenSet = true; m_location.assign(value); } 160 161 /** 162 * <p>A string that specifies the location of the file system created by Amazon 163 * EFS. Its format is <code>efs-dns-name:/directory-path</code>. You can find the 164 * DNS name of file system when you view it in the Amazon EFS console. The 165 * directory path is a path to a directory in the file system that CodeBuild 166 * mounts. For example, if the DNS name of a file system is 167 * <code>fs-abcd1234.efs.us-west-2.amazonaws.com</code>, and its mount directory is 168 * <code>my-efs-mount-directory</code>, then the <code>location</code> is 169 * <code>fs-abcd1234.efs.us-west-2.amazonaws.com:/my-efs-mount-directory</code>. 170 * </p> <p>The directory path in the format 171 * <code>efs-dns-name:/directory-path</code> is optional. If you do not specify a 172 * directory path, the location is only the DNS name and CodeBuild mounts the 173 * entire file system. </p> 174 */ WithLocation(const Aws::String & value)175 inline ProjectFileSystemLocation& WithLocation(const Aws::String& value) { SetLocation(value); return *this;} 176 177 /** 178 * <p>A string that specifies the location of the file system created by Amazon 179 * EFS. Its format is <code>efs-dns-name:/directory-path</code>. You can find the 180 * DNS name of file system when you view it in the Amazon EFS console. The 181 * directory path is a path to a directory in the file system that CodeBuild 182 * mounts. For example, if the DNS name of a file system is 183 * <code>fs-abcd1234.efs.us-west-2.amazonaws.com</code>, and its mount directory is 184 * <code>my-efs-mount-directory</code>, then the <code>location</code> is 185 * <code>fs-abcd1234.efs.us-west-2.amazonaws.com:/my-efs-mount-directory</code>. 186 * </p> <p>The directory path in the format 187 * <code>efs-dns-name:/directory-path</code> is optional. If you do not specify a 188 * directory path, the location is only the DNS name and CodeBuild mounts the 189 * entire file system. </p> 190 */ WithLocation(Aws::String && value)191 inline ProjectFileSystemLocation& WithLocation(Aws::String&& value) { SetLocation(std::move(value)); return *this;} 192 193 /** 194 * <p>A string that specifies the location of the file system created by Amazon 195 * EFS. Its format is <code>efs-dns-name:/directory-path</code>. You can find the 196 * DNS name of file system when you view it in the Amazon EFS console. The 197 * directory path is a path to a directory in the file system that CodeBuild 198 * mounts. For example, if the DNS name of a file system is 199 * <code>fs-abcd1234.efs.us-west-2.amazonaws.com</code>, and its mount directory is 200 * <code>my-efs-mount-directory</code>, then the <code>location</code> is 201 * <code>fs-abcd1234.efs.us-west-2.amazonaws.com:/my-efs-mount-directory</code>. 202 * </p> <p>The directory path in the format 203 * <code>efs-dns-name:/directory-path</code> is optional. If you do not specify a 204 * directory path, the location is only the DNS name and CodeBuild mounts the 205 * entire file system. </p> 206 */ WithLocation(const char * value)207 inline ProjectFileSystemLocation& WithLocation(const char* value) { SetLocation(value); return *this;} 208 209 210 /** 211 * <p>The location in the container where you mount the file system. </p> 212 */ GetMountPoint()213 inline const Aws::String& GetMountPoint() const{ return m_mountPoint; } 214 215 /** 216 * <p>The location in the container where you mount the file system. </p> 217 */ MountPointHasBeenSet()218 inline bool MountPointHasBeenSet() const { return m_mountPointHasBeenSet; } 219 220 /** 221 * <p>The location in the container where you mount the file system. </p> 222 */ SetMountPoint(const Aws::String & value)223 inline void SetMountPoint(const Aws::String& value) { m_mountPointHasBeenSet = true; m_mountPoint = value; } 224 225 /** 226 * <p>The location in the container where you mount the file system. </p> 227 */ SetMountPoint(Aws::String && value)228 inline void SetMountPoint(Aws::String&& value) { m_mountPointHasBeenSet = true; m_mountPoint = std::move(value); } 229 230 /** 231 * <p>The location in the container where you mount the file system. </p> 232 */ SetMountPoint(const char * value)233 inline void SetMountPoint(const char* value) { m_mountPointHasBeenSet = true; m_mountPoint.assign(value); } 234 235 /** 236 * <p>The location in the container where you mount the file system. </p> 237 */ WithMountPoint(const Aws::String & value)238 inline ProjectFileSystemLocation& WithMountPoint(const Aws::String& value) { SetMountPoint(value); return *this;} 239 240 /** 241 * <p>The location in the container where you mount the file system. </p> 242 */ WithMountPoint(Aws::String && value)243 inline ProjectFileSystemLocation& WithMountPoint(Aws::String&& value) { SetMountPoint(std::move(value)); return *this;} 244 245 /** 246 * <p>The location in the container where you mount the file system. </p> 247 */ WithMountPoint(const char * value)248 inline ProjectFileSystemLocation& WithMountPoint(const char* value) { SetMountPoint(value); return *this;} 249 250 251 /** 252 * <p>The name used to access a file system created by Amazon EFS. CodeBuild 253 * creates an environment variable by appending the <code>identifier</code> in all 254 * capital letters to <code>CODEBUILD_</code>. For example, if you specify 255 * <code>my_efs</code> for <code>identifier</code>, a new environment variable is 256 * create named <code>CODEBUILD_MY_EFS</code>. </p> <p> The <code>identifier</code> 257 * is used to mount your file system. </p> 258 */ GetIdentifier()259 inline const Aws::String& GetIdentifier() const{ return m_identifier; } 260 261 /** 262 * <p>The name used to access a file system created by Amazon EFS. CodeBuild 263 * creates an environment variable by appending the <code>identifier</code> in all 264 * capital letters to <code>CODEBUILD_</code>. For example, if you specify 265 * <code>my_efs</code> for <code>identifier</code>, a new environment variable is 266 * create named <code>CODEBUILD_MY_EFS</code>. </p> <p> The <code>identifier</code> 267 * is used to mount your file system. </p> 268 */ IdentifierHasBeenSet()269 inline bool IdentifierHasBeenSet() const { return m_identifierHasBeenSet; } 270 271 /** 272 * <p>The name used to access a file system created by Amazon EFS. CodeBuild 273 * creates an environment variable by appending the <code>identifier</code> in all 274 * capital letters to <code>CODEBUILD_</code>. For example, if you specify 275 * <code>my_efs</code> for <code>identifier</code>, a new environment variable is 276 * create named <code>CODEBUILD_MY_EFS</code>. </p> <p> The <code>identifier</code> 277 * is used to mount your file system. </p> 278 */ SetIdentifier(const Aws::String & value)279 inline void SetIdentifier(const Aws::String& value) { m_identifierHasBeenSet = true; m_identifier = value; } 280 281 /** 282 * <p>The name used to access a file system created by Amazon EFS. CodeBuild 283 * creates an environment variable by appending the <code>identifier</code> in all 284 * capital letters to <code>CODEBUILD_</code>. For example, if you specify 285 * <code>my_efs</code> for <code>identifier</code>, a new environment variable is 286 * create named <code>CODEBUILD_MY_EFS</code>. </p> <p> The <code>identifier</code> 287 * is used to mount your file system. </p> 288 */ SetIdentifier(Aws::String && value)289 inline void SetIdentifier(Aws::String&& value) { m_identifierHasBeenSet = true; m_identifier = std::move(value); } 290 291 /** 292 * <p>The name used to access a file system created by Amazon EFS. CodeBuild 293 * creates an environment variable by appending the <code>identifier</code> in all 294 * capital letters to <code>CODEBUILD_</code>. For example, if you specify 295 * <code>my_efs</code> for <code>identifier</code>, a new environment variable is 296 * create named <code>CODEBUILD_MY_EFS</code>. </p> <p> The <code>identifier</code> 297 * is used to mount your file system. </p> 298 */ SetIdentifier(const char * value)299 inline void SetIdentifier(const char* value) { m_identifierHasBeenSet = true; m_identifier.assign(value); } 300 301 /** 302 * <p>The name used to access a file system created by Amazon EFS. CodeBuild 303 * creates an environment variable by appending the <code>identifier</code> in all 304 * capital letters to <code>CODEBUILD_</code>. For example, if you specify 305 * <code>my_efs</code> for <code>identifier</code>, a new environment variable is 306 * create named <code>CODEBUILD_MY_EFS</code>. </p> <p> The <code>identifier</code> 307 * is used to mount your file system. </p> 308 */ WithIdentifier(const Aws::String & value)309 inline ProjectFileSystemLocation& WithIdentifier(const Aws::String& value) { SetIdentifier(value); return *this;} 310 311 /** 312 * <p>The name used to access a file system created by Amazon EFS. CodeBuild 313 * creates an environment variable by appending the <code>identifier</code> in all 314 * capital letters to <code>CODEBUILD_</code>. For example, if you specify 315 * <code>my_efs</code> for <code>identifier</code>, a new environment variable is 316 * create named <code>CODEBUILD_MY_EFS</code>. </p> <p> The <code>identifier</code> 317 * is used to mount your file system. </p> 318 */ WithIdentifier(Aws::String && value)319 inline ProjectFileSystemLocation& WithIdentifier(Aws::String&& value) { SetIdentifier(std::move(value)); return *this;} 320 321 /** 322 * <p>The name used to access a file system created by Amazon EFS. CodeBuild 323 * creates an environment variable by appending the <code>identifier</code> in all 324 * capital letters to <code>CODEBUILD_</code>. For example, if you specify 325 * <code>my_efs</code> for <code>identifier</code>, a new environment variable is 326 * create named <code>CODEBUILD_MY_EFS</code>. </p> <p> The <code>identifier</code> 327 * is used to mount your file system. </p> 328 */ WithIdentifier(const char * value)329 inline ProjectFileSystemLocation& WithIdentifier(const char* value) { SetIdentifier(value); return *this;} 330 331 332 /** 333 * <p> The mount options for a file system created by Amazon EFS. The default mount 334 * options used by CodeBuild are 335 * <code>nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2</code>. 336 * For more information, see <a 337 * href="https://docs.aws.amazon.com/efs/latest/ug/mounting-fs-nfs-mount-settings.html">Recommended 338 * NFS Mount Options</a>. </p> 339 */ GetMountOptions()340 inline const Aws::String& GetMountOptions() const{ return m_mountOptions; } 341 342 /** 343 * <p> The mount options for a file system created by Amazon EFS. The default mount 344 * options used by CodeBuild are 345 * <code>nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2</code>. 346 * For more information, see <a 347 * href="https://docs.aws.amazon.com/efs/latest/ug/mounting-fs-nfs-mount-settings.html">Recommended 348 * NFS Mount Options</a>. </p> 349 */ MountOptionsHasBeenSet()350 inline bool MountOptionsHasBeenSet() const { return m_mountOptionsHasBeenSet; } 351 352 /** 353 * <p> The mount options for a file system created by Amazon EFS. The default mount 354 * options used by CodeBuild are 355 * <code>nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2</code>. 356 * For more information, see <a 357 * href="https://docs.aws.amazon.com/efs/latest/ug/mounting-fs-nfs-mount-settings.html">Recommended 358 * NFS Mount Options</a>. </p> 359 */ SetMountOptions(const Aws::String & value)360 inline void SetMountOptions(const Aws::String& value) { m_mountOptionsHasBeenSet = true; m_mountOptions = value; } 361 362 /** 363 * <p> The mount options for a file system created by Amazon EFS. The default mount 364 * options used by CodeBuild are 365 * <code>nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2</code>. 366 * For more information, see <a 367 * href="https://docs.aws.amazon.com/efs/latest/ug/mounting-fs-nfs-mount-settings.html">Recommended 368 * NFS Mount Options</a>. </p> 369 */ SetMountOptions(Aws::String && value)370 inline void SetMountOptions(Aws::String&& value) { m_mountOptionsHasBeenSet = true; m_mountOptions = std::move(value); } 371 372 /** 373 * <p> The mount options for a file system created by Amazon EFS. The default mount 374 * options used by CodeBuild are 375 * <code>nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2</code>. 376 * For more information, see <a 377 * href="https://docs.aws.amazon.com/efs/latest/ug/mounting-fs-nfs-mount-settings.html">Recommended 378 * NFS Mount Options</a>. </p> 379 */ SetMountOptions(const char * value)380 inline void SetMountOptions(const char* value) { m_mountOptionsHasBeenSet = true; m_mountOptions.assign(value); } 381 382 /** 383 * <p> The mount options for a file system created by Amazon EFS. The default mount 384 * options used by CodeBuild are 385 * <code>nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2</code>. 386 * For more information, see <a 387 * href="https://docs.aws.amazon.com/efs/latest/ug/mounting-fs-nfs-mount-settings.html">Recommended 388 * NFS Mount Options</a>. </p> 389 */ WithMountOptions(const Aws::String & value)390 inline ProjectFileSystemLocation& WithMountOptions(const Aws::String& value) { SetMountOptions(value); return *this;} 391 392 /** 393 * <p> The mount options for a file system created by Amazon EFS. The default mount 394 * options used by CodeBuild are 395 * <code>nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2</code>. 396 * For more information, see <a 397 * href="https://docs.aws.amazon.com/efs/latest/ug/mounting-fs-nfs-mount-settings.html">Recommended 398 * NFS Mount Options</a>. </p> 399 */ WithMountOptions(Aws::String && value)400 inline ProjectFileSystemLocation& WithMountOptions(Aws::String&& value) { SetMountOptions(std::move(value)); return *this;} 401 402 /** 403 * <p> The mount options for a file system created by Amazon EFS. The default mount 404 * options used by CodeBuild are 405 * <code>nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2</code>. 406 * For more information, see <a 407 * href="https://docs.aws.amazon.com/efs/latest/ug/mounting-fs-nfs-mount-settings.html">Recommended 408 * NFS Mount Options</a>. </p> 409 */ WithMountOptions(const char * value)410 inline ProjectFileSystemLocation& WithMountOptions(const char* value) { SetMountOptions(value); return *this;} 411 412 private: 413 414 FileSystemType m_type; 415 bool m_typeHasBeenSet; 416 417 Aws::String m_location; 418 bool m_locationHasBeenSet; 419 420 Aws::String m_mountPoint; 421 bool m_mountPointHasBeenSet; 422 423 Aws::String m_identifier; 424 bool m_identifierHasBeenSet; 425 426 Aws::String m_mountOptions; 427 bool m_mountOptionsHasBeenSet; 428 }; 429 430 } // namespace Model 431 } // namespace CodeBuild 432 } // namespace Aws 433