/** * 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 #include namespace Aws { namespace DataSync { namespace Model { /** */ class UpdateLocationHdfsRequest : public DataSyncRequest { public: AWS_DATASYNC_API UpdateLocationHdfsRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "UpdateLocationHdfs"; } AWS_DATASYNC_API Aws::String SerializePayload() const override; AWS_DATASYNC_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The Amazon Resource Name (ARN) of the source HDFS cluster location.

*/ inline const Aws::String& GetLocationArn() const{ return m_locationArn; } /** *

The Amazon Resource Name (ARN) of the source HDFS cluster location.

*/ inline bool LocationArnHasBeenSet() const { return m_locationArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the source HDFS cluster location.

*/ inline void SetLocationArn(const Aws::String& value) { m_locationArnHasBeenSet = true; m_locationArn = value; } /** *

The Amazon Resource Name (ARN) of the source HDFS cluster location.

*/ inline void SetLocationArn(Aws::String&& value) { m_locationArnHasBeenSet = true; m_locationArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the source HDFS cluster location.

*/ inline void SetLocationArn(const char* value) { m_locationArnHasBeenSet = true; m_locationArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the source HDFS cluster location.

*/ inline UpdateLocationHdfsRequest& WithLocationArn(const Aws::String& value) { SetLocationArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the source HDFS cluster location.

*/ inline UpdateLocationHdfsRequest& WithLocationArn(Aws::String&& value) { SetLocationArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the source HDFS cluster location.

*/ inline UpdateLocationHdfsRequest& WithLocationArn(const char* value) { SetLocationArn(value); return *this;} /** *

A subdirectory in the HDFS cluster. This subdirectory is used to read data * from or write data to the HDFS cluster.

*/ inline const Aws::String& GetSubdirectory() const{ return m_subdirectory; } /** *

A subdirectory in the HDFS cluster. This subdirectory is used to read data * from or write data to the HDFS cluster.

*/ inline bool SubdirectoryHasBeenSet() const { return m_subdirectoryHasBeenSet; } /** *

A subdirectory in the HDFS cluster. This subdirectory is used to read data * from or write data to the HDFS cluster.

*/ inline void SetSubdirectory(const Aws::String& value) { m_subdirectoryHasBeenSet = true; m_subdirectory = value; } /** *

A subdirectory in the HDFS cluster. This subdirectory is used to read data * from or write data to the HDFS cluster.

*/ inline void SetSubdirectory(Aws::String&& value) { m_subdirectoryHasBeenSet = true; m_subdirectory = std::move(value); } /** *

A subdirectory in the HDFS cluster. This subdirectory is used to read data * from or write data to the HDFS cluster.

*/ inline void SetSubdirectory(const char* value) { m_subdirectoryHasBeenSet = true; m_subdirectory.assign(value); } /** *

A subdirectory in the HDFS cluster. This subdirectory is used to read data * from or write data to the HDFS cluster.

*/ inline UpdateLocationHdfsRequest& WithSubdirectory(const Aws::String& value) { SetSubdirectory(value); return *this;} /** *

A subdirectory in the HDFS cluster. This subdirectory is used to read data * from or write data to the HDFS cluster.

*/ inline UpdateLocationHdfsRequest& WithSubdirectory(Aws::String&& value) { SetSubdirectory(std::move(value)); return *this;} /** *

A subdirectory in the HDFS cluster. This subdirectory is used to read data * from or write data to the HDFS cluster.

*/ inline UpdateLocationHdfsRequest& WithSubdirectory(const char* value) { SetSubdirectory(value); return *this;} /** *

The NameNode that manages the HDFS namespace. The NameNode performs * operations such as opening, closing, and renaming files and directories. The * NameNode contains the information to map blocks of data to the DataNodes. You * can use only one NameNode.

*/ inline const Aws::Vector& GetNameNodes() const{ return m_nameNodes; } /** *

The NameNode that manages the HDFS namespace. The NameNode performs * operations such as opening, closing, and renaming files and directories. The * NameNode contains the information to map blocks of data to the DataNodes. You * can use only one NameNode.

*/ inline bool NameNodesHasBeenSet() const { return m_nameNodesHasBeenSet; } /** *

The NameNode that manages the HDFS namespace. The NameNode performs * operations such as opening, closing, and renaming files and directories. The * NameNode contains the information to map blocks of data to the DataNodes. You * can use only one NameNode.

*/ inline void SetNameNodes(const Aws::Vector& value) { m_nameNodesHasBeenSet = true; m_nameNodes = value; } /** *

The NameNode that manages the HDFS namespace. The NameNode performs * operations such as opening, closing, and renaming files and directories. The * NameNode contains the information to map blocks of data to the DataNodes. You * can use only one NameNode.

*/ inline void SetNameNodes(Aws::Vector&& value) { m_nameNodesHasBeenSet = true; m_nameNodes = std::move(value); } /** *

The NameNode that manages the HDFS namespace. The NameNode performs * operations such as opening, closing, and renaming files and directories. The * NameNode contains the information to map blocks of data to the DataNodes. You * can use only one NameNode.

*/ inline UpdateLocationHdfsRequest& WithNameNodes(const Aws::Vector& value) { SetNameNodes(value); return *this;} /** *

The NameNode that manages the HDFS namespace. The NameNode performs * operations such as opening, closing, and renaming files and directories. The * NameNode contains the information to map blocks of data to the DataNodes. You * can use only one NameNode.

*/ inline UpdateLocationHdfsRequest& WithNameNodes(Aws::Vector&& value) { SetNameNodes(std::move(value)); return *this;} /** *

The NameNode that manages the HDFS namespace. The NameNode performs * operations such as opening, closing, and renaming files and directories. The * NameNode contains the information to map blocks of data to the DataNodes. You * can use only one NameNode.

*/ inline UpdateLocationHdfsRequest& AddNameNodes(const HdfsNameNode& value) { m_nameNodesHasBeenSet = true; m_nameNodes.push_back(value); return *this; } /** *

The NameNode that manages the HDFS namespace. The NameNode performs * operations such as opening, closing, and renaming files and directories. The * NameNode contains the information to map blocks of data to the DataNodes. You * can use only one NameNode.

*/ inline UpdateLocationHdfsRequest& AddNameNodes(HdfsNameNode&& value) { m_nameNodesHasBeenSet = true; m_nameNodes.push_back(std::move(value)); return *this; } /** *

The size of the data blocks to write into the HDFS cluster.

*/ inline int GetBlockSize() const{ return m_blockSize; } /** *

The size of the data blocks to write into the HDFS cluster.

*/ inline bool BlockSizeHasBeenSet() const { return m_blockSizeHasBeenSet; } /** *

The size of the data blocks to write into the HDFS cluster.

*/ inline void SetBlockSize(int value) { m_blockSizeHasBeenSet = true; m_blockSize = value; } /** *

The size of the data blocks to write into the HDFS cluster.

*/ inline UpdateLocationHdfsRequest& WithBlockSize(int value) { SetBlockSize(value); return *this;} /** *

The number of DataNodes to replicate the data to when writing to the HDFS * cluster.

*/ inline int GetReplicationFactor() const{ return m_replicationFactor; } /** *

The number of DataNodes to replicate the data to when writing to the HDFS * cluster.

*/ inline bool ReplicationFactorHasBeenSet() const { return m_replicationFactorHasBeenSet; } /** *

The number of DataNodes to replicate the data to when writing to the HDFS * cluster.

*/ inline void SetReplicationFactor(int value) { m_replicationFactorHasBeenSet = true; m_replicationFactor = value; } /** *

The number of DataNodes to replicate the data to when writing to the HDFS * cluster.

*/ inline UpdateLocationHdfsRequest& WithReplicationFactor(int value) { SetReplicationFactor(value); return *this;} /** *

The URI of the HDFS cluster's Key Management Server (KMS).

*/ inline const Aws::String& GetKmsKeyProviderUri() const{ return m_kmsKeyProviderUri; } /** *

The URI of the HDFS cluster's Key Management Server (KMS).

*/ inline bool KmsKeyProviderUriHasBeenSet() const { return m_kmsKeyProviderUriHasBeenSet; } /** *

The URI of the HDFS cluster's Key Management Server (KMS).

*/ inline void SetKmsKeyProviderUri(const Aws::String& value) { m_kmsKeyProviderUriHasBeenSet = true; m_kmsKeyProviderUri = value; } /** *

The URI of the HDFS cluster's Key Management Server (KMS).

*/ inline void SetKmsKeyProviderUri(Aws::String&& value) { m_kmsKeyProviderUriHasBeenSet = true; m_kmsKeyProviderUri = std::move(value); } /** *

The URI of the HDFS cluster's Key Management Server (KMS).

*/ inline void SetKmsKeyProviderUri(const char* value) { m_kmsKeyProviderUriHasBeenSet = true; m_kmsKeyProviderUri.assign(value); } /** *

The URI of the HDFS cluster's Key Management Server (KMS).

*/ inline UpdateLocationHdfsRequest& WithKmsKeyProviderUri(const Aws::String& value) { SetKmsKeyProviderUri(value); return *this;} /** *

The URI of the HDFS cluster's Key Management Server (KMS).

*/ inline UpdateLocationHdfsRequest& WithKmsKeyProviderUri(Aws::String&& value) { SetKmsKeyProviderUri(std::move(value)); return *this;} /** *

The URI of the HDFS cluster's Key Management Server (KMS).

*/ inline UpdateLocationHdfsRequest& WithKmsKeyProviderUri(const char* value) { SetKmsKeyProviderUri(value); return *this;} /** *

The Quality of Protection (QOP) configuration specifies the Remote Procedure * Call (RPC) and data transfer privacy settings configured on the Hadoop * Distributed File System (HDFS) cluster.

*/ inline const QopConfiguration& GetQopConfiguration() const{ return m_qopConfiguration; } /** *

The Quality of Protection (QOP) configuration specifies the Remote Procedure * Call (RPC) and data transfer privacy settings configured on the Hadoop * Distributed File System (HDFS) cluster.

*/ inline bool QopConfigurationHasBeenSet() const { return m_qopConfigurationHasBeenSet; } /** *

The Quality of Protection (QOP) configuration specifies the Remote Procedure * Call (RPC) and data transfer privacy settings configured on the Hadoop * Distributed File System (HDFS) cluster.

*/ inline void SetQopConfiguration(const QopConfiguration& value) { m_qopConfigurationHasBeenSet = true; m_qopConfiguration = value; } /** *

The Quality of Protection (QOP) configuration specifies the Remote Procedure * Call (RPC) and data transfer privacy settings configured on the Hadoop * Distributed File System (HDFS) cluster.

*/ inline void SetQopConfiguration(QopConfiguration&& value) { m_qopConfigurationHasBeenSet = true; m_qopConfiguration = std::move(value); } /** *

The Quality of Protection (QOP) configuration specifies the Remote Procedure * Call (RPC) and data transfer privacy settings configured on the Hadoop * Distributed File System (HDFS) cluster.

*/ inline UpdateLocationHdfsRequest& WithQopConfiguration(const QopConfiguration& value) { SetQopConfiguration(value); return *this;} /** *

The Quality of Protection (QOP) configuration specifies the Remote Procedure * Call (RPC) and data transfer privacy settings configured on the Hadoop * Distributed File System (HDFS) cluster.

*/ inline UpdateLocationHdfsRequest& WithQopConfiguration(QopConfiguration&& value) { SetQopConfiguration(std::move(value)); return *this;} /** *

The type of authentication used to determine the identity of the user.

*/ inline const HdfsAuthenticationType& GetAuthenticationType() const{ return m_authenticationType; } /** *

The type of authentication used to determine the identity of the user.

*/ inline bool AuthenticationTypeHasBeenSet() const { return m_authenticationTypeHasBeenSet; } /** *

The type of authentication used to determine the identity of the user.

*/ inline void SetAuthenticationType(const HdfsAuthenticationType& value) { m_authenticationTypeHasBeenSet = true; m_authenticationType = value; } /** *

The type of authentication used to determine the identity of the user.

*/ inline void SetAuthenticationType(HdfsAuthenticationType&& value) { m_authenticationTypeHasBeenSet = true; m_authenticationType = std::move(value); } /** *

The type of authentication used to determine the identity of the user.

*/ inline UpdateLocationHdfsRequest& WithAuthenticationType(const HdfsAuthenticationType& value) { SetAuthenticationType(value); return *this;} /** *

The type of authentication used to determine the identity of the user.

*/ inline UpdateLocationHdfsRequest& WithAuthenticationType(HdfsAuthenticationType&& value) { SetAuthenticationType(std::move(value)); return *this;} /** *

The user name used to identify the client on the host operating system.

*/ inline const Aws::String& GetSimpleUser() const{ return m_simpleUser; } /** *

The user name used to identify the client on the host operating system.

*/ inline bool SimpleUserHasBeenSet() const { return m_simpleUserHasBeenSet; } /** *

The user name used to identify the client on the host operating system.

*/ inline void SetSimpleUser(const Aws::String& value) { m_simpleUserHasBeenSet = true; m_simpleUser = value; } /** *

The user name used to identify the client on the host operating system.

*/ inline void SetSimpleUser(Aws::String&& value) { m_simpleUserHasBeenSet = true; m_simpleUser = std::move(value); } /** *

The user name used to identify the client on the host operating system.

*/ inline void SetSimpleUser(const char* value) { m_simpleUserHasBeenSet = true; m_simpleUser.assign(value); } /** *

The user name used to identify the client on the host operating system.

*/ inline UpdateLocationHdfsRequest& WithSimpleUser(const Aws::String& value) { SetSimpleUser(value); return *this;} /** *

The user name used to identify the client on the host operating system.

*/ inline UpdateLocationHdfsRequest& WithSimpleUser(Aws::String&& value) { SetSimpleUser(std::move(value)); return *this;} /** *

The user name used to identify the client on the host operating system.

*/ inline UpdateLocationHdfsRequest& WithSimpleUser(const char* value) { SetSimpleUser(value); return *this;} /** *

The Kerberos principal with access to the files and folders on the HDFS * cluster.

*/ inline const Aws::String& GetKerberosPrincipal() const{ return m_kerberosPrincipal; } /** *

The Kerberos principal with access to the files and folders on the HDFS * cluster.

*/ inline bool KerberosPrincipalHasBeenSet() const { return m_kerberosPrincipalHasBeenSet; } /** *

The Kerberos principal with access to the files and folders on the HDFS * cluster.

*/ inline void SetKerberosPrincipal(const Aws::String& value) { m_kerberosPrincipalHasBeenSet = true; m_kerberosPrincipal = value; } /** *

The Kerberos principal with access to the files and folders on the HDFS * cluster.

*/ inline void SetKerberosPrincipal(Aws::String&& value) { m_kerberosPrincipalHasBeenSet = true; m_kerberosPrincipal = std::move(value); } /** *

The Kerberos principal with access to the files and folders on the HDFS * cluster.

*/ inline void SetKerberosPrincipal(const char* value) { m_kerberosPrincipalHasBeenSet = true; m_kerberosPrincipal.assign(value); } /** *

The Kerberos principal with access to the files and folders on the HDFS * cluster.

*/ inline UpdateLocationHdfsRequest& WithKerberosPrincipal(const Aws::String& value) { SetKerberosPrincipal(value); return *this;} /** *

The Kerberos principal with access to the files and folders on the HDFS * cluster.

*/ inline UpdateLocationHdfsRequest& WithKerberosPrincipal(Aws::String&& value) { SetKerberosPrincipal(std::move(value)); return *this;} /** *

The Kerberos principal with access to the files and folders on the HDFS * cluster.

*/ inline UpdateLocationHdfsRequest& WithKerberosPrincipal(const char* value) { SetKerberosPrincipal(value); return *this;} /** *

The Kerberos key table (keytab) that contains mappings between the defined * Kerberos principal and the encrypted keys. You can load the keytab from a file * by providing the file's address. If you use the CLI, it performs base64 encoding * for you. Otherwise, provide the base64-encoded text.

*/ inline const Aws::Utils::ByteBuffer& GetKerberosKeytab() const{ return m_kerberosKeytab; } /** *

The Kerberos key table (keytab) that contains mappings between the defined * Kerberos principal and the encrypted keys. You can load the keytab from a file * by providing the file's address. If you use the CLI, it performs base64 encoding * for you. Otherwise, provide the base64-encoded text.

*/ inline bool KerberosKeytabHasBeenSet() const { return m_kerberosKeytabHasBeenSet; } /** *

The Kerberos key table (keytab) that contains mappings between the defined * Kerberos principal and the encrypted keys. You can load the keytab from a file * by providing the file's address. If you use the CLI, it performs base64 encoding * for you. Otherwise, provide the base64-encoded text.

*/ inline void SetKerberosKeytab(const Aws::Utils::ByteBuffer& value) { m_kerberosKeytabHasBeenSet = true; m_kerberosKeytab = value; } /** *

The Kerberos key table (keytab) that contains mappings between the defined * Kerberos principal and the encrypted keys. You can load the keytab from a file * by providing the file's address. If you use the CLI, it performs base64 encoding * for you. Otherwise, provide the base64-encoded text.

*/ inline void SetKerberosKeytab(Aws::Utils::ByteBuffer&& value) { m_kerberosKeytabHasBeenSet = true; m_kerberosKeytab = std::move(value); } /** *

The Kerberos key table (keytab) that contains mappings between the defined * Kerberos principal and the encrypted keys. You can load the keytab from a file * by providing the file's address. If you use the CLI, it performs base64 encoding * for you. Otherwise, provide the base64-encoded text.

*/ inline UpdateLocationHdfsRequest& WithKerberosKeytab(const Aws::Utils::ByteBuffer& value) { SetKerberosKeytab(value); return *this;} /** *

The Kerberos key table (keytab) that contains mappings between the defined * Kerberos principal and the encrypted keys. You can load the keytab from a file * by providing the file's address. If you use the CLI, it performs base64 encoding * for you. Otherwise, provide the base64-encoded text.

*/ inline UpdateLocationHdfsRequest& WithKerberosKeytab(Aws::Utils::ByteBuffer&& value) { SetKerberosKeytab(std::move(value)); return *this;} /** *

The krb5.conf file that contains the Kerberos configuration * information. You can load the krb5.conf file by providing the * file's address. If you're using the CLI, it performs the base64 encoding for * you. Otherwise, provide the base64-encoded text.

*/ inline const Aws::Utils::ByteBuffer& GetKerberosKrb5Conf() const{ return m_kerberosKrb5Conf; } /** *

The krb5.conf file that contains the Kerberos configuration * information. You can load the krb5.conf file by providing the * file's address. If you're using the CLI, it performs the base64 encoding for * you. Otherwise, provide the base64-encoded text.

*/ inline bool KerberosKrb5ConfHasBeenSet() const { return m_kerberosKrb5ConfHasBeenSet; } /** *

The krb5.conf file that contains the Kerberos configuration * information. You can load the krb5.conf file by providing the * file's address. If you're using the CLI, it performs the base64 encoding for * you. Otherwise, provide the base64-encoded text.

*/ inline void SetKerberosKrb5Conf(const Aws::Utils::ByteBuffer& value) { m_kerberosKrb5ConfHasBeenSet = true; m_kerberosKrb5Conf = value; } /** *

The krb5.conf file that contains the Kerberos configuration * information. You can load the krb5.conf file by providing the * file's address. If you're using the CLI, it performs the base64 encoding for * you. Otherwise, provide the base64-encoded text.

*/ inline void SetKerberosKrb5Conf(Aws::Utils::ByteBuffer&& value) { m_kerberosKrb5ConfHasBeenSet = true; m_kerberosKrb5Conf = std::move(value); } /** *

The krb5.conf file that contains the Kerberos configuration * information. You can load the krb5.conf file by providing the * file's address. If you're using the CLI, it performs the base64 encoding for * you. Otherwise, provide the base64-encoded text.

*/ inline UpdateLocationHdfsRequest& WithKerberosKrb5Conf(const Aws::Utils::ByteBuffer& value) { SetKerberosKrb5Conf(value); return *this;} /** *

The krb5.conf file that contains the Kerberos configuration * information. You can load the krb5.conf file by providing the * file's address. If you're using the CLI, it performs the base64 encoding for * you. Otherwise, provide the base64-encoded text.

*/ inline UpdateLocationHdfsRequest& WithKerberosKrb5Conf(Aws::Utils::ByteBuffer&& value) { SetKerberosKrb5Conf(std::move(value)); return *this;} /** *

The ARNs of the agents that are used to connect to the HDFS cluster.

*/ inline const Aws::Vector& GetAgentArns() const{ return m_agentArns; } /** *

The ARNs of the agents that are used to connect to the HDFS cluster.

*/ inline bool AgentArnsHasBeenSet() const { return m_agentArnsHasBeenSet; } /** *

The ARNs of the agents that are used to connect to the HDFS cluster.

*/ inline void SetAgentArns(const Aws::Vector& value) { m_agentArnsHasBeenSet = true; m_agentArns = value; } /** *

The ARNs of the agents that are used to connect to the HDFS cluster.

*/ inline void SetAgentArns(Aws::Vector&& value) { m_agentArnsHasBeenSet = true; m_agentArns = std::move(value); } /** *

The ARNs of the agents that are used to connect to the HDFS cluster.

*/ inline UpdateLocationHdfsRequest& WithAgentArns(const Aws::Vector& value) { SetAgentArns(value); return *this;} /** *

The ARNs of the agents that are used to connect to the HDFS cluster.

*/ inline UpdateLocationHdfsRequest& WithAgentArns(Aws::Vector&& value) { SetAgentArns(std::move(value)); return *this;} /** *

The ARNs of the agents that are used to connect to the HDFS cluster.

*/ inline UpdateLocationHdfsRequest& AddAgentArns(const Aws::String& value) { m_agentArnsHasBeenSet = true; m_agentArns.push_back(value); return *this; } /** *

The ARNs of the agents that are used to connect to the HDFS cluster.

*/ inline UpdateLocationHdfsRequest& AddAgentArns(Aws::String&& value) { m_agentArnsHasBeenSet = true; m_agentArns.push_back(std::move(value)); return *this; } /** *

The ARNs of the agents that are used to connect to the HDFS cluster.

*/ inline UpdateLocationHdfsRequest& AddAgentArns(const char* value) { m_agentArnsHasBeenSet = true; m_agentArns.push_back(value); return *this; } private: Aws::String m_locationArn; bool m_locationArnHasBeenSet = false; Aws::String m_subdirectory; bool m_subdirectoryHasBeenSet = false; Aws::Vector m_nameNodes; bool m_nameNodesHasBeenSet = false; int m_blockSize; bool m_blockSizeHasBeenSet = false; int m_replicationFactor; bool m_replicationFactorHasBeenSet = false; Aws::String m_kmsKeyProviderUri; bool m_kmsKeyProviderUriHasBeenSet = false; QopConfiguration m_qopConfiguration; bool m_qopConfigurationHasBeenSet = false; HdfsAuthenticationType m_authenticationType; bool m_authenticationTypeHasBeenSet = false; Aws::String m_simpleUser; bool m_simpleUserHasBeenSet = false; Aws::String m_kerberosPrincipal; bool m_kerberosPrincipalHasBeenSet = false; Aws::Utils::ByteBuffer m_kerberosKeytab; bool m_kerberosKeytabHasBeenSet = false; Aws::Utils::ByteBuffer m_kerberosKrb5Conf; bool m_kerberosKrb5ConfHasBeenSet = false; Aws::Vector m_agentArns; bool m_agentArnsHasBeenSet = false; }; } // namespace Model } // namespace DataSync } // namespace Aws