/*
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
/*
* Do not modify this file. This file is generated from the datasync-2018-11-09.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using System.Net;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.DataSync.Model
{
///
/// Container for the parameters to the UpdateLocationHdfs operation.
/// Updates some parameters of a previously created location for a Hadoop Distributed
/// File System cluster.
///
public partial class UpdateLocationHdfsRequest : AmazonDataSyncRequest
{
private List _agentArns = new List();
private HdfsAuthenticationType _authenticationType;
private int? _blockSize;
private MemoryStream _kerberosKeytab;
private MemoryStream _kerberosKrb5Conf;
private string _kerberosPrincipal;
private string _kmsKeyProviderUri;
private string _locationArn;
private List _nameNodes = new List();
private QopConfiguration _qopConfiguration;
private int? _replicationFactor;
private string _simpleUser;
private string _subdirectory;
///
/// Gets and sets the property AgentArns.
///
/// The ARNs of the agents that are used to connect to the HDFS cluster.
///
///
[AWSProperty(Min=1, Max=4)]
public List AgentArns
{
get { return this._agentArns; }
set { this._agentArns = value; }
}
// Check to see if AgentArns property is set
internal bool IsSetAgentArns()
{
return this._agentArns != null && this._agentArns.Count > 0;
}
///
/// Gets and sets the property AuthenticationType.
///
/// The type of authentication used to determine the identity of the user.
///
///
public HdfsAuthenticationType AuthenticationType
{
get { return this._authenticationType; }
set { this._authenticationType = value; }
}
// Check to see if AuthenticationType property is set
internal bool IsSetAuthenticationType()
{
return this._authenticationType != null;
}
///
/// Gets and sets the property BlockSize.
///
/// The size of the data blocks to write into the HDFS cluster.
///
///
[AWSProperty(Min=1048576, Max=1073741824)]
public int BlockSize
{
get { return this._blockSize.GetValueOrDefault(); }
set { this._blockSize = value; }
}
// Check to see if BlockSize property is set
internal bool IsSetBlockSize()
{
return this._blockSize.HasValue;
}
///
/// Gets and sets the property 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.
///
///
[AWSProperty(Max=65536)]
public MemoryStream KerberosKeytab
{
get { return this._kerberosKeytab; }
set { this._kerberosKeytab = value; }
}
// Check to see if KerberosKeytab property is set
internal bool IsSetKerberosKeytab()
{
return this._kerberosKeytab != null;
}
///
/// Gets and sets the property 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.
///
///
[AWSProperty(Max=131072)]
public MemoryStream KerberosKrb5Conf
{
get { return this._kerberosKrb5Conf; }
set { this._kerberosKrb5Conf = value; }
}
// Check to see if KerberosKrb5Conf property is set
internal bool IsSetKerberosKrb5Conf()
{
return this._kerberosKrb5Conf != null;
}
///
/// Gets and sets the property KerberosPrincipal.
///
/// The Kerberos principal with access to the files and folders on the HDFS cluster.
///
///
[AWSProperty(Min=1, Max=256)]
public string KerberosPrincipal
{
get { return this._kerberosPrincipal; }
set { this._kerberosPrincipal = value; }
}
// Check to see if KerberosPrincipal property is set
internal bool IsSetKerberosPrincipal()
{
return this._kerberosPrincipal != null;
}
///
/// Gets and sets the property KmsKeyProviderUri.
///
/// The URI of the HDFS cluster's Key Management Server (KMS).
///
///
[AWSProperty(Min=1, Max=255)]
public string KmsKeyProviderUri
{
get { return this._kmsKeyProviderUri; }
set { this._kmsKeyProviderUri = value; }
}
// Check to see if KmsKeyProviderUri property is set
internal bool IsSetKmsKeyProviderUri()
{
return this._kmsKeyProviderUri != null;
}
///
/// Gets and sets the property LocationArn.
///
/// The Amazon Resource Name (ARN) of the source HDFS cluster location.
///
///
[AWSProperty(Required=true, Max=128)]
public string LocationArn
{
get { return this._locationArn; }
set { this._locationArn = value; }
}
// Check to see if LocationArn property is set
internal bool IsSetLocationArn()
{
return this._locationArn != null;
}
///
/// Gets and sets the property 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.
///
///
[AWSProperty(Min=1)]
public List NameNodes
{
get { return this._nameNodes; }
set { this._nameNodes = value; }
}
// Check to see if NameNodes property is set
internal bool IsSetNameNodes()
{
return this._nameNodes != null && this._nameNodes.Count > 0;
}
///
/// Gets and sets the property 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.
///
///
public QopConfiguration QopConfiguration
{
get { return this._qopConfiguration; }
set { this._qopConfiguration = value; }
}
// Check to see if QopConfiguration property is set
internal bool IsSetQopConfiguration()
{
return this._qopConfiguration != null;
}
///
/// Gets and sets the property ReplicationFactor.
///
/// The number of DataNodes to replicate the data to when writing to the HDFS cluster.
///
///
///
[AWSProperty(Min=1, Max=512)]
public int ReplicationFactor
{
get { return this._replicationFactor.GetValueOrDefault(); }
set { this._replicationFactor = value; }
}
// Check to see if ReplicationFactor property is set
internal bool IsSetReplicationFactor()
{
return this._replicationFactor.HasValue;
}
///
/// Gets and sets the property SimpleUser.
///
/// The user name used to identify the client on the host operating system.
///
///
[AWSProperty(Min=1, Max=256)]
public string SimpleUser
{
get { return this._simpleUser; }
set { this._simpleUser = value; }
}
// Check to see if SimpleUser property is set
internal bool IsSetSimpleUser()
{
return this._simpleUser != null;
}
///
/// Gets and sets the property Subdirectory.
///
/// A subdirectory in the HDFS cluster. This subdirectory is used to read data from or
/// write data to the HDFS cluster.
///
///
[AWSProperty(Max=4096)]
public string Subdirectory
{
get { return this._subdirectory; }
set { this._subdirectory = value; }
}
// Check to see if Subdirectory property is set
internal bool IsSetSubdirectory()
{
return this._subdirectory != null;
}
}
}