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/datasync/DataSync_EXPORTS.h> 8 #include <aws/datasync/DataSyncRequest.h> 9 #include <aws/core/utils/memory/stl/AWSString.h> 10 #include <aws/core/utils/memory/stl/AWSVector.h> 11 #include <aws/datasync/model/SmbMountOptions.h> 12 #include <aws/datasync/model/TagListEntry.h> 13 #include <utility> 14 15 namespace Aws 16 { 17 namespace DataSync 18 { 19 namespace Model 20 { 21 22 /** 23 * <p>CreateLocationSmbRequest</p><p><h3>See Also:</h3> <a 24 * href="http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/CreateLocationSmbRequest">AWS 25 * API Reference</a></p> 26 */ 27 class AWS_DATASYNC_API CreateLocationSmbRequest : public DataSyncRequest 28 { 29 public: 30 CreateLocationSmbRequest(); 31 32 // Service request name is the Operation name which will send this request out, 33 // each operation should has unique request name, so that we can get operation's name from this request. 34 // Note: this is not true for response, multiple operations may have the same response name, 35 // so we can not get operation's name from response. GetServiceRequestName()36 inline virtual const char* GetServiceRequestName() const override { return "CreateLocationSmb"; } 37 38 Aws::String SerializePayload() const override; 39 40 Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; 41 42 43 /** 44 * <p>The subdirectory in the SMB file system that is used to read data from the 45 * SMB source location or write data to the SMB destination. The SMB path should be 46 * a path that's exported by the SMB server, or a subdirectory of that path. The 47 * path should be such that it can be mounted by other SMB clients in your 48 * network.</p> <p> <code>Subdirectory</code> must be specified with forward 49 * slashes. For example, <code>/path/to/folder</code>.</p> <p>To transfer 50 * all the data in the folder you specified, DataSync needs to have permissions to 51 * mount the SMB share, as well as to access all the data in that share. To ensure 52 * this, either ensure that the user/password specified belongs to the user who can 53 * mount the share, and who has the appropriate permissions for all of the files 54 * and directories that you want DataSync to access, or use credentials of a member 55 * of the Backup Operators group to mount the share. Doing either enables the agent 56 * to access the data. For the agent to access directories, you must additionally 57 * enable all execute access.</p> 58 */ GetSubdirectory()59 inline const Aws::String& GetSubdirectory() const{ return m_subdirectory; } 60 61 /** 62 * <p>The subdirectory in the SMB file system that is used to read data from the 63 * SMB source location or write data to the SMB destination. The SMB path should be 64 * a path that's exported by the SMB server, or a subdirectory of that path. The 65 * path should be such that it can be mounted by other SMB clients in your 66 * network.</p> <p> <code>Subdirectory</code> must be specified with forward 67 * slashes. For example, <code>/path/to/folder</code>.</p> <p>To transfer 68 * all the data in the folder you specified, DataSync needs to have permissions to 69 * mount the SMB share, as well as to access all the data in that share. To ensure 70 * this, either ensure that the user/password specified belongs to the user who can 71 * mount the share, and who has the appropriate permissions for all of the files 72 * and directories that you want DataSync to access, or use credentials of a member 73 * of the Backup Operators group to mount the share. Doing either enables the agent 74 * to access the data. For the agent to access directories, you must additionally 75 * enable all execute access.</p> 76 */ SubdirectoryHasBeenSet()77 inline bool SubdirectoryHasBeenSet() const { return m_subdirectoryHasBeenSet; } 78 79 /** 80 * <p>The subdirectory in the SMB file system that is used to read data from the 81 * SMB source location or write data to the SMB destination. The SMB path should be 82 * a path that's exported by the SMB server, or a subdirectory of that path. The 83 * path should be such that it can be mounted by other SMB clients in your 84 * network.</p> <p> <code>Subdirectory</code> must be specified with forward 85 * slashes. For example, <code>/path/to/folder</code>.</p> <p>To transfer 86 * all the data in the folder you specified, DataSync needs to have permissions to 87 * mount the SMB share, as well as to access all the data in that share. To ensure 88 * this, either ensure that the user/password specified belongs to the user who can 89 * mount the share, and who has the appropriate permissions for all of the files 90 * and directories that you want DataSync to access, or use credentials of a member 91 * of the Backup Operators group to mount the share. Doing either enables the agent 92 * to access the data. For the agent to access directories, you must additionally 93 * enable all execute access.</p> 94 */ SetSubdirectory(const Aws::String & value)95 inline void SetSubdirectory(const Aws::String& value) { m_subdirectoryHasBeenSet = true; m_subdirectory = value; } 96 97 /** 98 * <p>The subdirectory in the SMB file system that is used to read data from the 99 * SMB source location or write data to the SMB destination. The SMB path should be 100 * a path that's exported by the SMB server, or a subdirectory of that path. The 101 * path should be such that it can be mounted by other SMB clients in your 102 * network.</p> <p> <code>Subdirectory</code> must be specified with forward 103 * slashes. For example, <code>/path/to/folder</code>.</p> <p>To transfer 104 * all the data in the folder you specified, DataSync needs to have permissions to 105 * mount the SMB share, as well as to access all the data in that share. To ensure 106 * this, either ensure that the user/password specified belongs to the user who can 107 * mount the share, and who has the appropriate permissions for all of the files 108 * and directories that you want DataSync to access, or use credentials of a member 109 * of the Backup Operators group to mount the share. Doing either enables the agent 110 * to access the data. For the agent to access directories, you must additionally 111 * enable all execute access.</p> 112 */ SetSubdirectory(Aws::String && value)113 inline void SetSubdirectory(Aws::String&& value) { m_subdirectoryHasBeenSet = true; m_subdirectory = std::move(value); } 114 115 /** 116 * <p>The subdirectory in the SMB file system that is used to read data from the 117 * SMB source location or write data to the SMB destination. The SMB path should be 118 * a path that's exported by the SMB server, or a subdirectory of that path. The 119 * path should be such that it can be mounted by other SMB clients in your 120 * network.</p> <p> <code>Subdirectory</code> must be specified with forward 121 * slashes. For example, <code>/path/to/folder</code>.</p> <p>To transfer 122 * all the data in the folder you specified, DataSync needs to have permissions to 123 * mount the SMB share, as well as to access all the data in that share. To ensure 124 * this, either ensure that the user/password specified belongs to the user who can 125 * mount the share, and who has the appropriate permissions for all of the files 126 * and directories that you want DataSync to access, or use credentials of a member 127 * of the Backup Operators group to mount the share. Doing either enables the agent 128 * to access the data. For the agent to access directories, you must additionally 129 * enable all execute access.</p> 130 */ SetSubdirectory(const char * value)131 inline void SetSubdirectory(const char* value) { m_subdirectoryHasBeenSet = true; m_subdirectory.assign(value); } 132 133 /** 134 * <p>The subdirectory in the SMB file system that is used to read data from the 135 * SMB source location or write data to the SMB destination. The SMB path should be 136 * a path that's exported by the SMB server, or a subdirectory of that path. The 137 * path should be such that it can be mounted by other SMB clients in your 138 * network.</p> <p> <code>Subdirectory</code> must be specified with forward 139 * slashes. For example, <code>/path/to/folder</code>.</p> <p>To transfer 140 * all the data in the folder you specified, DataSync needs to have permissions to 141 * mount the SMB share, as well as to access all the data in that share. To ensure 142 * this, either ensure that the user/password specified belongs to the user who can 143 * mount the share, and who has the appropriate permissions for all of the files 144 * and directories that you want DataSync to access, or use credentials of a member 145 * of the Backup Operators group to mount the share. Doing either enables the agent 146 * to access the data. For the agent to access directories, you must additionally 147 * enable all execute access.</p> 148 */ WithSubdirectory(const Aws::String & value)149 inline CreateLocationSmbRequest& WithSubdirectory(const Aws::String& value) { SetSubdirectory(value); return *this;} 150 151 /** 152 * <p>The subdirectory in the SMB file system that is used to read data from the 153 * SMB source location or write data to the SMB destination. The SMB path should be 154 * a path that's exported by the SMB server, or a subdirectory of that path. The 155 * path should be such that it can be mounted by other SMB clients in your 156 * network.</p> <p> <code>Subdirectory</code> must be specified with forward 157 * slashes. For example, <code>/path/to/folder</code>.</p> <p>To transfer 158 * all the data in the folder you specified, DataSync needs to have permissions to 159 * mount the SMB share, as well as to access all the data in that share. To ensure 160 * this, either ensure that the user/password specified belongs to the user who can 161 * mount the share, and who has the appropriate permissions for all of the files 162 * and directories that you want DataSync to access, or use credentials of a member 163 * of the Backup Operators group to mount the share. Doing either enables the agent 164 * to access the data. For the agent to access directories, you must additionally 165 * enable all execute access.</p> 166 */ WithSubdirectory(Aws::String && value)167 inline CreateLocationSmbRequest& WithSubdirectory(Aws::String&& value) { SetSubdirectory(std::move(value)); return *this;} 168 169 /** 170 * <p>The subdirectory in the SMB file system that is used to read data from the 171 * SMB source location or write data to the SMB destination. The SMB path should be 172 * a path that's exported by the SMB server, or a subdirectory of that path. The 173 * path should be such that it can be mounted by other SMB clients in your 174 * network.</p> <p> <code>Subdirectory</code> must be specified with forward 175 * slashes. For example, <code>/path/to/folder</code>.</p> <p>To transfer 176 * all the data in the folder you specified, DataSync needs to have permissions to 177 * mount the SMB share, as well as to access all the data in that share. To ensure 178 * this, either ensure that the user/password specified belongs to the user who can 179 * mount the share, and who has the appropriate permissions for all of the files 180 * and directories that you want DataSync to access, or use credentials of a member 181 * of the Backup Operators group to mount the share. Doing either enables the agent 182 * to access the data. For the agent to access directories, you must additionally 183 * enable all execute access.</p> 184 */ WithSubdirectory(const char * value)185 inline CreateLocationSmbRequest& WithSubdirectory(const char* value) { SetSubdirectory(value); return *this;} 186 187 188 /** 189 * <p>The name of the SMB server. This value is the IP address or Domain Name 190 * Service (DNS) name of the SMB server. An agent that is installed on-premises 191 * uses this hostname to mount the SMB server in a network.</p> <p>This name 192 * must either be DNS-compliant or must be an IP version 4 (IPv4) address.</p> 193 * 194 */ GetServerHostname()195 inline const Aws::String& GetServerHostname() const{ return m_serverHostname; } 196 197 /** 198 * <p>The name of the SMB server. This value is the IP address or Domain Name 199 * Service (DNS) name of the SMB server. An agent that is installed on-premises 200 * uses this hostname to mount the SMB server in a network.</p> <p>This name 201 * must either be DNS-compliant or must be an IP version 4 (IPv4) address.</p> 202 * 203 */ ServerHostnameHasBeenSet()204 inline bool ServerHostnameHasBeenSet() const { return m_serverHostnameHasBeenSet; } 205 206 /** 207 * <p>The name of the SMB server. This value is the IP address or Domain Name 208 * Service (DNS) name of the SMB server. An agent that is installed on-premises 209 * uses this hostname to mount the SMB server in a network.</p> <p>This name 210 * must either be DNS-compliant or must be an IP version 4 (IPv4) address.</p> 211 * 212 */ SetServerHostname(const Aws::String & value)213 inline void SetServerHostname(const Aws::String& value) { m_serverHostnameHasBeenSet = true; m_serverHostname = value; } 214 215 /** 216 * <p>The name of the SMB server. This value is the IP address or Domain Name 217 * Service (DNS) name of the SMB server. An agent that is installed on-premises 218 * uses this hostname to mount the SMB server in a network.</p> <p>This name 219 * must either be DNS-compliant or must be an IP version 4 (IPv4) address.</p> 220 * 221 */ SetServerHostname(Aws::String && value)222 inline void SetServerHostname(Aws::String&& value) { m_serverHostnameHasBeenSet = true; m_serverHostname = std::move(value); } 223 224 /** 225 * <p>The name of the SMB server. This value is the IP address or Domain Name 226 * Service (DNS) name of the SMB server. An agent that is installed on-premises 227 * uses this hostname to mount the SMB server in a network.</p> <p>This name 228 * must either be DNS-compliant or must be an IP version 4 (IPv4) address.</p> 229 * 230 */ SetServerHostname(const char * value)231 inline void SetServerHostname(const char* value) { m_serverHostnameHasBeenSet = true; m_serverHostname.assign(value); } 232 233 /** 234 * <p>The name of the SMB server. This value is the IP address or Domain Name 235 * Service (DNS) name of the SMB server. An agent that is installed on-premises 236 * uses this hostname to mount the SMB server in a network.</p> <p>This name 237 * must either be DNS-compliant or must be an IP version 4 (IPv4) address.</p> 238 * 239 */ WithServerHostname(const Aws::String & value)240 inline CreateLocationSmbRequest& WithServerHostname(const Aws::String& value) { SetServerHostname(value); return *this;} 241 242 /** 243 * <p>The name of the SMB server. This value is the IP address or Domain Name 244 * Service (DNS) name of the SMB server. An agent that is installed on-premises 245 * uses this hostname to mount the SMB server in a network.</p> <p>This name 246 * must either be DNS-compliant or must be an IP version 4 (IPv4) address.</p> 247 * 248 */ WithServerHostname(Aws::String && value)249 inline CreateLocationSmbRequest& WithServerHostname(Aws::String&& value) { SetServerHostname(std::move(value)); return *this;} 250 251 /** 252 * <p>The name of the SMB server. This value is the IP address or Domain Name 253 * Service (DNS) name of the SMB server. An agent that is installed on-premises 254 * uses this hostname to mount the SMB server in a network.</p> <p>This name 255 * must either be DNS-compliant or must be an IP version 4 (IPv4) address.</p> 256 * 257 */ WithServerHostname(const char * value)258 inline CreateLocationSmbRequest& WithServerHostname(const char* value) { SetServerHostname(value); return *this;} 259 260 261 /** 262 * <p>The user who can mount the share, has the permissions to access files and 263 * folders in the SMB share.</p> <p>For information about choosing a user name that 264 * ensures sufficient permissions to files, folders, and metadata, see <a 265 * href="create-smb-location.html#SMBuser">user</a>.</p> 266 */ GetUser()267 inline const Aws::String& GetUser() const{ return m_user; } 268 269 /** 270 * <p>The user who can mount the share, has the permissions to access files and 271 * folders in the SMB share.</p> <p>For information about choosing a user name that 272 * ensures sufficient permissions to files, folders, and metadata, see <a 273 * href="create-smb-location.html#SMBuser">user</a>.</p> 274 */ UserHasBeenSet()275 inline bool UserHasBeenSet() const { return m_userHasBeenSet; } 276 277 /** 278 * <p>The user who can mount the share, has the permissions to access files and 279 * folders in the SMB share.</p> <p>For information about choosing a user name that 280 * ensures sufficient permissions to files, folders, and metadata, see <a 281 * href="create-smb-location.html#SMBuser">user</a>.</p> 282 */ SetUser(const Aws::String & value)283 inline void SetUser(const Aws::String& value) { m_userHasBeenSet = true; m_user = value; } 284 285 /** 286 * <p>The user who can mount the share, has the permissions to access files and 287 * folders in the SMB share.</p> <p>For information about choosing a user name that 288 * ensures sufficient permissions to files, folders, and metadata, see <a 289 * href="create-smb-location.html#SMBuser">user</a>.</p> 290 */ SetUser(Aws::String && value)291 inline void SetUser(Aws::String&& value) { m_userHasBeenSet = true; m_user = std::move(value); } 292 293 /** 294 * <p>The user who can mount the share, has the permissions to access files and 295 * folders in the SMB share.</p> <p>For information about choosing a user name that 296 * ensures sufficient permissions to files, folders, and metadata, see <a 297 * href="create-smb-location.html#SMBuser">user</a>.</p> 298 */ SetUser(const char * value)299 inline void SetUser(const char* value) { m_userHasBeenSet = true; m_user.assign(value); } 300 301 /** 302 * <p>The user who can mount the share, has the permissions to access files and 303 * folders in the SMB share.</p> <p>For information about choosing a user name that 304 * ensures sufficient permissions to files, folders, and metadata, see <a 305 * href="create-smb-location.html#SMBuser">user</a>.</p> 306 */ WithUser(const Aws::String & value)307 inline CreateLocationSmbRequest& WithUser(const Aws::String& value) { SetUser(value); return *this;} 308 309 /** 310 * <p>The user who can mount the share, has the permissions to access files and 311 * folders in the SMB share.</p> <p>For information about choosing a user name that 312 * ensures sufficient permissions to files, folders, and metadata, see <a 313 * href="create-smb-location.html#SMBuser">user</a>.</p> 314 */ WithUser(Aws::String && value)315 inline CreateLocationSmbRequest& WithUser(Aws::String&& value) { SetUser(std::move(value)); return *this;} 316 317 /** 318 * <p>The user who can mount the share, has the permissions to access files and 319 * folders in the SMB share.</p> <p>For information about choosing a user name that 320 * ensures sufficient permissions to files, folders, and metadata, see <a 321 * href="create-smb-location.html#SMBuser">user</a>.</p> 322 */ WithUser(const char * value)323 inline CreateLocationSmbRequest& WithUser(const char* value) { SetUser(value); return *this;} 324 325 326 /** 327 * <p>The name of the Windows domain that the SMB server belongs to.</p> 328 */ GetDomain()329 inline const Aws::String& GetDomain() const{ return m_domain; } 330 331 /** 332 * <p>The name of the Windows domain that the SMB server belongs to.</p> 333 */ DomainHasBeenSet()334 inline bool DomainHasBeenSet() const { return m_domainHasBeenSet; } 335 336 /** 337 * <p>The name of the Windows domain that the SMB server belongs to.</p> 338 */ SetDomain(const Aws::String & value)339 inline void SetDomain(const Aws::String& value) { m_domainHasBeenSet = true; m_domain = value; } 340 341 /** 342 * <p>The name of the Windows domain that the SMB server belongs to.</p> 343 */ SetDomain(Aws::String && value)344 inline void SetDomain(Aws::String&& value) { m_domainHasBeenSet = true; m_domain = std::move(value); } 345 346 /** 347 * <p>The name of the Windows domain that the SMB server belongs to.</p> 348 */ SetDomain(const char * value)349 inline void SetDomain(const char* value) { m_domainHasBeenSet = true; m_domain.assign(value); } 350 351 /** 352 * <p>The name of the Windows domain that the SMB server belongs to.</p> 353 */ WithDomain(const Aws::String & value)354 inline CreateLocationSmbRequest& WithDomain(const Aws::String& value) { SetDomain(value); return *this;} 355 356 /** 357 * <p>The name of the Windows domain that the SMB server belongs to.</p> 358 */ WithDomain(Aws::String && value)359 inline CreateLocationSmbRequest& WithDomain(Aws::String&& value) { SetDomain(std::move(value)); return *this;} 360 361 /** 362 * <p>The name of the Windows domain that the SMB server belongs to.</p> 363 */ WithDomain(const char * value)364 inline CreateLocationSmbRequest& WithDomain(const char* value) { SetDomain(value); return *this;} 365 366 367 /** 368 * <p>The password of the user who can mount the share, has the permissions to 369 * access files and folders in the SMB share.</p> 370 */ GetPassword()371 inline const Aws::String& GetPassword() const{ return m_password; } 372 373 /** 374 * <p>The password of the user who can mount the share, has the permissions to 375 * access files and folders in the SMB share.</p> 376 */ PasswordHasBeenSet()377 inline bool PasswordHasBeenSet() const { return m_passwordHasBeenSet; } 378 379 /** 380 * <p>The password of the user who can mount the share, has the permissions to 381 * access files and folders in the SMB share.</p> 382 */ SetPassword(const Aws::String & value)383 inline void SetPassword(const Aws::String& value) { m_passwordHasBeenSet = true; m_password = value; } 384 385 /** 386 * <p>The password of the user who can mount the share, has the permissions to 387 * access files and folders in the SMB share.</p> 388 */ SetPassword(Aws::String && value)389 inline void SetPassword(Aws::String&& value) { m_passwordHasBeenSet = true; m_password = std::move(value); } 390 391 /** 392 * <p>The password of the user who can mount the share, has the permissions to 393 * access files and folders in the SMB share.</p> 394 */ SetPassword(const char * value)395 inline void SetPassword(const char* value) { m_passwordHasBeenSet = true; m_password.assign(value); } 396 397 /** 398 * <p>The password of the user who can mount the share, has the permissions to 399 * access files and folders in the SMB share.</p> 400 */ WithPassword(const Aws::String & value)401 inline CreateLocationSmbRequest& WithPassword(const Aws::String& value) { SetPassword(value); return *this;} 402 403 /** 404 * <p>The password of the user who can mount the share, has the permissions to 405 * access files and folders in the SMB share.</p> 406 */ WithPassword(Aws::String && value)407 inline CreateLocationSmbRequest& WithPassword(Aws::String&& value) { SetPassword(std::move(value)); return *this;} 408 409 /** 410 * <p>The password of the user who can mount the share, has the permissions to 411 * access files and folders in the SMB share.</p> 412 */ WithPassword(const char * value)413 inline CreateLocationSmbRequest& WithPassword(const char* value) { SetPassword(value); return *this;} 414 415 416 /** 417 * <p>The Amazon Resource Names (ARNs) of agents to use for a Simple Message Block 418 * (SMB) location. </p> 419 */ GetAgentArns()420 inline const Aws::Vector<Aws::String>& GetAgentArns() const{ return m_agentArns; } 421 422 /** 423 * <p>The Amazon Resource Names (ARNs) of agents to use for a Simple Message Block 424 * (SMB) location. </p> 425 */ AgentArnsHasBeenSet()426 inline bool AgentArnsHasBeenSet() const { return m_agentArnsHasBeenSet; } 427 428 /** 429 * <p>The Amazon Resource Names (ARNs) of agents to use for a Simple Message Block 430 * (SMB) location. </p> 431 */ SetAgentArns(const Aws::Vector<Aws::String> & value)432 inline void SetAgentArns(const Aws::Vector<Aws::String>& value) { m_agentArnsHasBeenSet = true; m_agentArns = value; } 433 434 /** 435 * <p>The Amazon Resource Names (ARNs) of agents to use for a Simple Message Block 436 * (SMB) location. </p> 437 */ SetAgentArns(Aws::Vector<Aws::String> && value)438 inline void SetAgentArns(Aws::Vector<Aws::String>&& value) { m_agentArnsHasBeenSet = true; m_agentArns = std::move(value); } 439 440 /** 441 * <p>The Amazon Resource Names (ARNs) of agents to use for a Simple Message Block 442 * (SMB) location. </p> 443 */ WithAgentArns(const Aws::Vector<Aws::String> & value)444 inline CreateLocationSmbRequest& WithAgentArns(const Aws::Vector<Aws::String>& value) { SetAgentArns(value); return *this;} 445 446 /** 447 * <p>The Amazon Resource Names (ARNs) of agents to use for a Simple Message Block 448 * (SMB) location. </p> 449 */ WithAgentArns(Aws::Vector<Aws::String> && value)450 inline CreateLocationSmbRequest& WithAgentArns(Aws::Vector<Aws::String>&& value) { SetAgentArns(std::move(value)); return *this;} 451 452 /** 453 * <p>The Amazon Resource Names (ARNs) of agents to use for a Simple Message Block 454 * (SMB) location. </p> 455 */ AddAgentArns(const Aws::String & value)456 inline CreateLocationSmbRequest& AddAgentArns(const Aws::String& value) { m_agentArnsHasBeenSet = true; m_agentArns.push_back(value); return *this; } 457 458 /** 459 * <p>The Amazon Resource Names (ARNs) of agents to use for a Simple Message Block 460 * (SMB) location. </p> 461 */ AddAgentArns(Aws::String && value)462 inline CreateLocationSmbRequest& AddAgentArns(Aws::String&& value) { m_agentArnsHasBeenSet = true; m_agentArns.push_back(std::move(value)); return *this; } 463 464 /** 465 * <p>The Amazon Resource Names (ARNs) of agents to use for a Simple Message Block 466 * (SMB) location. </p> 467 */ AddAgentArns(const char * value)468 inline CreateLocationSmbRequest& AddAgentArns(const char* value) { m_agentArnsHasBeenSet = true; m_agentArns.push_back(value); return *this; } 469 470 471 /** 472 * <p>The mount options used by DataSync to access the SMB server.</p> 473 */ GetMountOptions()474 inline const SmbMountOptions& GetMountOptions() const{ return m_mountOptions; } 475 476 /** 477 * <p>The mount options used by DataSync to access the SMB server.</p> 478 */ MountOptionsHasBeenSet()479 inline bool MountOptionsHasBeenSet() const { return m_mountOptionsHasBeenSet; } 480 481 /** 482 * <p>The mount options used by DataSync to access the SMB server.</p> 483 */ SetMountOptions(const SmbMountOptions & value)484 inline void SetMountOptions(const SmbMountOptions& value) { m_mountOptionsHasBeenSet = true; m_mountOptions = value; } 485 486 /** 487 * <p>The mount options used by DataSync to access the SMB server.</p> 488 */ SetMountOptions(SmbMountOptions && value)489 inline void SetMountOptions(SmbMountOptions&& value) { m_mountOptionsHasBeenSet = true; m_mountOptions = std::move(value); } 490 491 /** 492 * <p>The mount options used by DataSync to access the SMB server.</p> 493 */ WithMountOptions(const SmbMountOptions & value)494 inline CreateLocationSmbRequest& WithMountOptions(const SmbMountOptions& value) { SetMountOptions(value); return *this;} 495 496 /** 497 * <p>The mount options used by DataSync to access the SMB server.</p> 498 */ WithMountOptions(SmbMountOptions && value)499 inline CreateLocationSmbRequest& WithMountOptions(SmbMountOptions&& value) { SetMountOptions(std::move(value)); return *this;} 500 501 502 /** 503 * <p>The key-value pair that represents the tag that you want to add to the 504 * location. The value can be an empty string. We recommend using tags to name your 505 * resources.</p> 506 */ GetTags()507 inline const Aws::Vector<TagListEntry>& GetTags() const{ return m_tags; } 508 509 /** 510 * <p>The key-value pair that represents the tag that you want to add to the 511 * location. The value can be an empty string. We recommend using tags to name your 512 * resources.</p> 513 */ TagsHasBeenSet()514 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } 515 516 /** 517 * <p>The key-value pair that represents the tag that you want to add to the 518 * location. The value can be an empty string. We recommend using tags to name your 519 * resources.</p> 520 */ SetTags(const Aws::Vector<TagListEntry> & value)521 inline void SetTags(const Aws::Vector<TagListEntry>& value) { m_tagsHasBeenSet = true; m_tags = value; } 522 523 /** 524 * <p>The key-value pair that represents the tag that you want to add to the 525 * location. The value can be an empty string. We recommend using tags to name your 526 * resources.</p> 527 */ SetTags(Aws::Vector<TagListEntry> && value)528 inline void SetTags(Aws::Vector<TagListEntry>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } 529 530 /** 531 * <p>The key-value pair that represents the tag that you want to add to the 532 * location. The value can be an empty string. We recommend using tags to name your 533 * resources.</p> 534 */ WithTags(const Aws::Vector<TagListEntry> & value)535 inline CreateLocationSmbRequest& WithTags(const Aws::Vector<TagListEntry>& value) { SetTags(value); return *this;} 536 537 /** 538 * <p>The key-value pair that represents the tag that you want to add to the 539 * location. The value can be an empty string. We recommend using tags to name your 540 * resources.</p> 541 */ WithTags(Aws::Vector<TagListEntry> && value)542 inline CreateLocationSmbRequest& WithTags(Aws::Vector<TagListEntry>&& value) { SetTags(std::move(value)); return *this;} 543 544 /** 545 * <p>The key-value pair that represents the tag that you want to add to the 546 * location. The value can be an empty string. We recommend using tags to name your 547 * resources.</p> 548 */ AddTags(const TagListEntry & value)549 inline CreateLocationSmbRequest& AddTags(const TagListEntry& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } 550 551 /** 552 * <p>The key-value pair that represents the tag that you want to add to the 553 * location. The value can be an empty string. We recommend using tags to name your 554 * resources.</p> 555 */ AddTags(TagListEntry && value)556 inline CreateLocationSmbRequest& AddTags(TagListEntry&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } 557 558 private: 559 560 Aws::String m_subdirectory; 561 bool m_subdirectoryHasBeenSet; 562 563 Aws::String m_serverHostname; 564 bool m_serverHostnameHasBeenSet; 565 566 Aws::String m_user; 567 bool m_userHasBeenSet; 568 569 Aws::String m_domain; 570 bool m_domainHasBeenSet; 571 572 Aws::String m_password; 573 bool m_passwordHasBeenSet; 574 575 Aws::Vector<Aws::String> m_agentArns; 576 bool m_agentArnsHasBeenSet; 577 578 SmbMountOptions m_mountOptions; 579 bool m_mountOptionsHasBeenSet; 580 581 Aws::Vector<TagListEntry> m_tags; 582 bool m_tagsHasBeenSet; 583 }; 584 585 } // namespace Model 586 } // namespace DataSync 587 } // namespace Aws 588