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/securityhub/SecurityHub_EXPORTS.h> 8 #include <aws/securityhub/model/AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationAuthorizationConfigDetails.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 SecurityHub 23 { 24 namespace Model 25 { 26 27 /** 28 * <p>Information about the Amazon Elastic File System file system that is used for 29 * task storage.</p><p><h3>See Also:</h3> <a 30 * href="http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails">AWS 31 * API Reference</a></p> 32 */ 33 class AWS_SECURITYHUB_API AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails 34 { 35 public: 36 AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails(); 37 AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails(Aws::Utils::Json::JsonView jsonValue); 38 AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails& operator=(Aws::Utils::Json::JsonView jsonValue); 39 Aws::Utils::Json::JsonValue Jsonize() const; 40 41 42 /** 43 * <p>The authorization configuration details for the Amazon EFS file system.</p> 44 */ GetAuthorizationConfig()45 inline const AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationAuthorizationConfigDetails& GetAuthorizationConfig() const{ return m_authorizationConfig; } 46 47 /** 48 * <p>The authorization configuration details for the Amazon EFS file system.</p> 49 */ AuthorizationConfigHasBeenSet()50 inline bool AuthorizationConfigHasBeenSet() const { return m_authorizationConfigHasBeenSet; } 51 52 /** 53 * <p>The authorization configuration details for the Amazon EFS file system.</p> 54 */ SetAuthorizationConfig(const AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationAuthorizationConfigDetails & value)55 inline void SetAuthorizationConfig(const AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationAuthorizationConfigDetails& value) { m_authorizationConfigHasBeenSet = true; m_authorizationConfig = value; } 56 57 /** 58 * <p>The authorization configuration details for the Amazon EFS file system.</p> 59 */ SetAuthorizationConfig(AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationAuthorizationConfigDetails && value)60 inline void SetAuthorizationConfig(AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationAuthorizationConfigDetails&& value) { m_authorizationConfigHasBeenSet = true; m_authorizationConfig = std::move(value); } 61 62 /** 63 * <p>The authorization configuration details for the Amazon EFS file system.</p> 64 */ WithAuthorizationConfig(const AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationAuthorizationConfigDetails & value)65 inline AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails& WithAuthorizationConfig(const AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationAuthorizationConfigDetails& value) { SetAuthorizationConfig(value); return *this;} 66 67 /** 68 * <p>The authorization configuration details for the Amazon EFS file system.</p> 69 */ WithAuthorizationConfig(AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationAuthorizationConfigDetails && value)70 inline AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails& WithAuthorizationConfig(AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationAuthorizationConfigDetails&& value) { SetAuthorizationConfig(std::move(value)); return *this;} 71 72 73 /** 74 * <p>The Amazon EFS file system identifier to use.</p> 75 */ GetFilesystemId()76 inline const Aws::String& GetFilesystemId() const{ return m_filesystemId; } 77 78 /** 79 * <p>The Amazon EFS file system identifier to use.</p> 80 */ FilesystemIdHasBeenSet()81 inline bool FilesystemIdHasBeenSet() const { return m_filesystemIdHasBeenSet; } 82 83 /** 84 * <p>The Amazon EFS file system identifier to use.</p> 85 */ SetFilesystemId(const Aws::String & value)86 inline void SetFilesystemId(const Aws::String& value) { m_filesystemIdHasBeenSet = true; m_filesystemId = value; } 87 88 /** 89 * <p>The Amazon EFS file system identifier to use.</p> 90 */ SetFilesystemId(Aws::String && value)91 inline void SetFilesystemId(Aws::String&& value) { m_filesystemIdHasBeenSet = true; m_filesystemId = std::move(value); } 92 93 /** 94 * <p>The Amazon EFS file system identifier to use.</p> 95 */ SetFilesystemId(const char * value)96 inline void SetFilesystemId(const char* value) { m_filesystemIdHasBeenSet = true; m_filesystemId.assign(value); } 97 98 /** 99 * <p>The Amazon EFS file system identifier to use.</p> 100 */ WithFilesystemId(const Aws::String & value)101 inline AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails& WithFilesystemId(const Aws::String& value) { SetFilesystemId(value); return *this;} 102 103 /** 104 * <p>The Amazon EFS file system identifier to use.</p> 105 */ WithFilesystemId(Aws::String && value)106 inline AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails& WithFilesystemId(Aws::String&& value) { SetFilesystemId(std::move(value)); return *this;} 107 108 /** 109 * <p>The Amazon EFS file system identifier to use.</p> 110 */ WithFilesystemId(const char * value)111 inline AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails& WithFilesystemId(const char* value) { SetFilesystemId(value); return *this;} 112 113 114 /** 115 * <p>The directory within the Amazon EFS file system to mount as the root 116 * directory inside the host.</p> 117 */ GetRootDirectory()118 inline const Aws::String& GetRootDirectory() const{ return m_rootDirectory; } 119 120 /** 121 * <p>The directory within the Amazon EFS file system to mount as the root 122 * directory inside the host.</p> 123 */ RootDirectoryHasBeenSet()124 inline bool RootDirectoryHasBeenSet() const { return m_rootDirectoryHasBeenSet; } 125 126 /** 127 * <p>The directory within the Amazon EFS file system to mount as the root 128 * directory inside the host.</p> 129 */ SetRootDirectory(const Aws::String & value)130 inline void SetRootDirectory(const Aws::String& value) { m_rootDirectoryHasBeenSet = true; m_rootDirectory = value; } 131 132 /** 133 * <p>The directory within the Amazon EFS file system to mount as the root 134 * directory inside the host.</p> 135 */ SetRootDirectory(Aws::String && value)136 inline void SetRootDirectory(Aws::String&& value) { m_rootDirectoryHasBeenSet = true; m_rootDirectory = std::move(value); } 137 138 /** 139 * <p>The directory within the Amazon EFS file system to mount as the root 140 * directory inside the host.</p> 141 */ SetRootDirectory(const char * value)142 inline void SetRootDirectory(const char* value) { m_rootDirectoryHasBeenSet = true; m_rootDirectory.assign(value); } 143 144 /** 145 * <p>The directory within the Amazon EFS file system to mount as the root 146 * directory inside the host.</p> 147 */ WithRootDirectory(const Aws::String & value)148 inline AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails& WithRootDirectory(const Aws::String& value) { SetRootDirectory(value); return *this;} 149 150 /** 151 * <p>The directory within the Amazon EFS file system to mount as the root 152 * directory inside the host.</p> 153 */ WithRootDirectory(Aws::String && value)154 inline AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails& WithRootDirectory(Aws::String&& value) { SetRootDirectory(std::move(value)); return *this;} 155 156 /** 157 * <p>The directory within the Amazon EFS file system to mount as the root 158 * directory inside the host.</p> 159 */ WithRootDirectory(const char * value)160 inline AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails& WithRootDirectory(const char* value) { SetRootDirectory(value); return *this;} 161 162 163 /** 164 * <p>Whether to enable encryption for Amazon EFS data in transit between the 165 * Amazon ECS host and the Amazon EFS server. </p> 166 */ GetTransitEncryption()167 inline const Aws::String& GetTransitEncryption() const{ return m_transitEncryption; } 168 169 /** 170 * <p>Whether to enable encryption for Amazon EFS data in transit between the 171 * Amazon ECS host and the Amazon EFS server. </p> 172 */ TransitEncryptionHasBeenSet()173 inline bool TransitEncryptionHasBeenSet() const { return m_transitEncryptionHasBeenSet; } 174 175 /** 176 * <p>Whether to enable encryption for Amazon EFS data in transit between the 177 * Amazon ECS host and the Amazon EFS server. </p> 178 */ SetTransitEncryption(const Aws::String & value)179 inline void SetTransitEncryption(const Aws::String& value) { m_transitEncryptionHasBeenSet = true; m_transitEncryption = value; } 180 181 /** 182 * <p>Whether to enable encryption for Amazon EFS data in transit between the 183 * Amazon ECS host and the Amazon EFS server. </p> 184 */ SetTransitEncryption(Aws::String && value)185 inline void SetTransitEncryption(Aws::String&& value) { m_transitEncryptionHasBeenSet = true; m_transitEncryption = std::move(value); } 186 187 /** 188 * <p>Whether to enable encryption for Amazon EFS data in transit between the 189 * Amazon ECS host and the Amazon EFS server. </p> 190 */ SetTransitEncryption(const char * value)191 inline void SetTransitEncryption(const char* value) { m_transitEncryptionHasBeenSet = true; m_transitEncryption.assign(value); } 192 193 /** 194 * <p>Whether to enable encryption for Amazon EFS data in transit between the 195 * Amazon ECS host and the Amazon EFS server. </p> 196 */ WithTransitEncryption(const Aws::String & value)197 inline AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails& WithTransitEncryption(const Aws::String& value) { SetTransitEncryption(value); return *this;} 198 199 /** 200 * <p>Whether to enable encryption for Amazon EFS data in transit between the 201 * Amazon ECS host and the Amazon EFS server. </p> 202 */ WithTransitEncryption(Aws::String && value)203 inline AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails& WithTransitEncryption(Aws::String&& value) { SetTransitEncryption(std::move(value)); return *this;} 204 205 /** 206 * <p>Whether to enable encryption for Amazon EFS data in transit between the 207 * Amazon ECS host and the Amazon EFS server. </p> 208 */ WithTransitEncryption(const char * value)209 inline AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails& WithTransitEncryption(const char* value) { SetTransitEncryption(value); return *this;} 210 211 212 /** 213 * <p>The port to use when sending encrypted data between the Amazon ECS host and 214 * the Amazon EFS server.</p> 215 */ GetTransitEncryptionPort()216 inline int GetTransitEncryptionPort() const{ return m_transitEncryptionPort; } 217 218 /** 219 * <p>The port to use when sending encrypted data between the Amazon ECS host and 220 * the Amazon EFS server.</p> 221 */ TransitEncryptionPortHasBeenSet()222 inline bool TransitEncryptionPortHasBeenSet() const { return m_transitEncryptionPortHasBeenSet; } 223 224 /** 225 * <p>The port to use when sending encrypted data between the Amazon ECS host and 226 * the Amazon EFS server.</p> 227 */ SetTransitEncryptionPort(int value)228 inline void SetTransitEncryptionPort(int value) { m_transitEncryptionPortHasBeenSet = true; m_transitEncryptionPort = value; } 229 230 /** 231 * <p>The port to use when sending encrypted data between the Amazon ECS host and 232 * the Amazon EFS server.</p> 233 */ WithTransitEncryptionPort(int value)234 inline AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails& WithTransitEncryptionPort(int value) { SetTransitEncryptionPort(value); return *this;} 235 236 private: 237 238 AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationAuthorizationConfigDetails m_authorizationConfig; 239 bool m_authorizationConfigHasBeenSet; 240 241 Aws::String m_filesystemId; 242 bool m_filesystemIdHasBeenSet; 243 244 Aws::String m_rootDirectory; 245 bool m_rootDirectoryHasBeenSet; 246 247 Aws::String m_transitEncryption; 248 bool m_transitEncryptionHasBeenSet; 249 250 int m_transitEncryptionPort; 251 bool m_transitEncryptionPortHasBeenSet; 252 }; 253 254 } // namespace Model 255 } // namespace SecurityHub 256 } // namespace Aws 257