Class: AWSCDK::Datasync::CfnLocationHDFSProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
datasync/cfn_location_hdfs_props.rb

Overview

Properties for defining a CfnLocationHDFS.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(agent_arns:, authentication_type:, name_nodes:, block_size: nil, cmk_secret_config: nil, custom_secret_config: nil, kerberos_keytab: nil, kerberos_krb5_conf: nil, kerberos_principal: nil, kms_key_provider_uri: nil, qop_configuration: nil, replication_factor: nil, simple_user: nil, subdirectory: nil, tags: nil) ⇒ CfnLocationHDFSProps

Returns a new instance of CfnLocationHDFSProps.

Parameters:

  • agent_arns (Array<String>)

    The Amazon Resource Names (ARNs) of the DataSync agents that can connect to your HDFS cluster.

  • authentication_type (String)

    The authentication mode used to determine identity of user.

  • name_nodes (AWSCDK::IResolvable, Array<AWSCDK::IResolvable, AWSCDK::Datasync::CfnLocationHDFS::NameNodeProperty>)

    The NameNode that manages the HDFS namespace.

  • block_size (Numeric, nil) (defaults to: nil)

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

  • cmk_secret_config (AWSCDK::IResolvable, AWSCDK::Datasync::CfnLocationHDFS::CmkSecretConfigProperty, nil) (defaults to: nil)

    Specifies configuration information for a DataSync-managed secret, such as an authentication token or set of credentials that DataSync uses to access a specific transfer location, and a customer-managed AWS KMS key.

  • custom_secret_config (AWSCDK::IResolvable, AWSCDK::Datasync::CfnLocationHDFS::CustomSecretConfigProperty, nil) (defaults to: nil)

    Specifies configuration information for a customer-managed secret, such as an authentication token or set of credentials that DataSync uses to access a specific transfer location, and an IAM role that DataSync can assume and access the customer-managed secret.

  • kerberos_keytab (String, nil) (defaults to: nil)

    The Kerberos key table (keytab) that contains mappings between the defined Kerberos principal and the encrypted keys.

  • kerberos_krb5_conf (String, nil) (defaults to: nil)

    The krb5.conf file that contains the Kerberos configuration information. You can load the krb5.conf by providing a string of the file's contents or an Amazon S3 presigned URL of the file. If KERBEROS is specified for AuthType , this value is required.

  • kerberos_principal (String, nil) (defaults to: nil)

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

  • kms_key_provider_uri (String, nil) (defaults to: nil)

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

  • qop_configuration (AWSCDK::IResolvable, AWSCDK::Datasync::CfnLocationHDFS::QopConfigurationProperty, nil) (defaults to: nil)

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

  • replication_factor (Numeric, nil) (defaults to: nil)

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

  • simple_user (String, nil) (defaults to: nil)

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

  • subdirectory (String, nil) (defaults to: nil)

    A subdirectory in the HDFS cluster.

  • tags (Array<AWSCDK::CfnTag>, nil) (defaults to: nil)

    The key-value pair that represents the tag that you want to add to the location.



24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# File 'datasync/cfn_location_hdfs_props.rb', line 24

def initialize(agent_arns:, authentication_type:, name_nodes:, block_size: nil, cmk_secret_config: nil, custom_secret_config: nil, kerberos_keytab: nil, kerberos_krb5_conf: nil, kerberos_principal: nil, kms_key_provider_uri: nil, qop_configuration: nil, replication_factor: nil, simple_user: nil, subdirectory: nil, tags: nil)
  @agent_arns = agent_arns
  Jsii::Type.check_type(@agent_arns, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "agentArns")
  @authentication_type = authentication_type
  Jsii::Type.check_type(@authentication_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "authenticationType")
  @name_nodes = name_nodes
  Jsii::Type.check_type(@name_nodes, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZGF0YXN5bmMuQ2ZuTG9jYXRpb25IREZTLk5hbWVOb2RlUHJvcGVydHkifV19fSwia2luZCI6ImFycmF5In19XX19")), "nameNodes")
  @block_size = block_size
  Jsii::Type.check_type(@block_size, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "blockSize") unless @block_size.nil?
  @cmk_secret_config = cmk_secret_config.is_a?(Hash) ? ::AWSCDK::Datasync::CfnLocationHDFS::CmkSecretConfigProperty.new(**cmk_secret_config.transform_keys(&:to_sym)) : cmk_secret_config
  Jsii::Type.check_type(@cmk_secret_config, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19kYXRhc3luYy5DZm5Mb2NhdGlvbkhERlMuQ21rU2VjcmV0Q29uZmlnUHJvcGVydHkifV19fQ==")), "cmkSecretConfig") unless @cmk_secret_config.nil?
  @custom_secret_config = custom_secret_config.is_a?(Hash) ? ::AWSCDK::Datasync::CfnLocationHDFS::CustomSecretConfigProperty.new(**custom_secret_config.transform_keys(&:to_sym)) : custom_secret_config
  Jsii::Type.check_type(@custom_secret_config, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19kYXRhc3luYy5DZm5Mb2NhdGlvbkhERlMuQ3VzdG9tU2VjcmV0Q29uZmlnUHJvcGVydHkifV19fQ==")), "customSecretConfig") unless @custom_secret_config.nil?
  @kerberos_keytab = kerberos_keytab
  Jsii::Type.check_type(@kerberos_keytab, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "kerberosKeytab") unless @kerberos_keytab.nil?
  @kerberos_krb5_conf = kerberos_krb5_conf
  Jsii::Type.check_type(@kerberos_krb5_conf, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "kerberosKrb5Conf") unless @kerberos_krb5_conf.nil?
  @kerberos_principal = kerberos_principal
  Jsii::Type.check_type(@kerberos_principal, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "kerberosPrincipal") unless @kerberos_principal.nil?
  @kms_key_provider_uri = kms_key_provider_uri
  Jsii::Type.check_type(@kms_key_provider_uri, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "kmsKeyProviderUri") unless @kms_key_provider_uri.nil?
  @qop_configuration = qop_configuration.is_a?(Hash) ? ::AWSCDK::Datasync::CfnLocationHDFS::QopConfigurationProperty.new(**qop_configuration.transform_keys(&:to_sym)) : qop_configuration
  Jsii::Type.check_type(@qop_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19kYXRhc3luYy5DZm5Mb2NhdGlvbkhERlMuUW9wQ29uZmlndXJhdGlvblByb3BlcnR5In1dfX0=")), "qopConfiguration") unless @qop_configuration.nil?
  @replication_factor = replication_factor
  Jsii::Type.check_type(@replication_factor, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "replicationFactor") unless @replication_factor.nil?
  @simple_user = simple_user
  Jsii::Type.check_type(@simple_user, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "simpleUser") unless @simple_user.nil?
  @subdirectory = subdirectory
  Jsii::Type.check_type(@subdirectory, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "subdirectory") unless @subdirectory.nil?
  @tags = tags.is_a?(Array) ? tags.map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::CfnTag.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : tags
  Jsii::Type.check_type(@tags, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLkNmblRhZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "tags") unless @tags.nil?
end

Instance Attribute Details

#agent_arnsArray<String> (readonly)

The Amazon Resource Names (ARNs) of the DataSync agents that can connect to your HDFS cluster.



61
62
63
# File 'datasync/cfn_location_hdfs_props.rb', line 61

def agent_arns
  @agent_arns
end

#authentication_typeString (readonly)

The authentication mode used to determine identity of user.



66
67
68
# File 'datasync/cfn_location_hdfs_props.rb', line 66

def authentication_type
  @authentication_type
end

#block_sizeNumeric? (readonly)

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

The block size must be a multiple of 512 bytes. The default block size is 128 mebibytes (MiB).



80
81
82
# File 'datasync/cfn_location_hdfs_props.rb', line 80

def block_size
  @block_size
end

#cmk_secret_configAWSCDK::IResolvable, ... (readonly)

Specifies configuration information for a DataSync-managed secret, such as an authentication token or set of credentials that DataSync uses to access a specific transfer location, and a customer-managed AWS KMS key.



85
86
87
# File 'datasync/cfn_location_hdfs_props.rb', line 85

def cmk_secret_config
  @cmk_secret_config
end

#custom_secret_configAWSCDK::IResolvable, ... (readonly)

Specifies configuration information for a customer-managed secret, such as an authentication token or set of credentials that DataSync uses to access a specific transfer location, and an IAM role that DataSync can assume and access the customer-managed secret.



90
91
92
# File 'datasync/cfn_location_hdfs_props.rb', line 90

def custom_secret_config
  @custom_secret_config
end

#kerberos_keytabString? (readonly)

The Kerberos key table (keytab) that contains mappings between the defined Kerberos principal and the encrypted keys.

Provide the base64-encoded file text. If KERBEROS is specified for AuthType , this value is required.



97
98
99
# File 'datasync/cfn_location_hdfs_props.rb', line 97

def kerberos_keytab
  @kerberos_keytab
end

#kerberos_krb5_confString? (readonly)

The krb5.conf file that contains the Kerberos configuration information. You can load the krb5.conf by providing a string of the file's contents or an Amazon S3 presigned URL of the file. If KERBEROS is specified for AuthType , this value is required.



102
103
104
# File 'datasync/cfn_location_hdfs_props.rb', line 102

def kerberos_krb5_conf
  @kerberos_krb5_conf
end

#kerberos_principalString? (readonly)

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

If KERBEROS is specified for AuthenticationType , this parameter is required.



109
110
111
# File 'datasync/cfn_location_hdfs_props.rb', line 109

def kerberos_principal
  @kerberos_principal
end

#kms_key_provider_uriString? (readonly)

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



114
115
116
# File 'datasync/cfn_location_hdfs_props.rb', line 114

def kms_key_provider_uri
  @kms_key_provider_uri
end

#name_nodesAWSCDK::IResolvable, Array<AWSCDK::IResolvable, AWSCDK::Datasync::CfnLocationHDFS::NameNodeProperty> (readonly)

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.



73
74
75
# File 'datasync/cfn_location_hdfs_props.rb', line 73

def name_nodes
  @name_nodes
end

#qop_configurationAWSCDK::IResolvable, ... (readonly)

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

If QopConfiguration isn't specified, RpcProtection and DataTransferProtection default to PRIVACY . If you set RpcProtection or DataTransferProtection , the other parameter assumes the same value.



121
122
123
# File 'datasync/cfn_location_hdfs_props.rb', line 121

def qop_configuration
  @qop_configuration
end

#replication_factorNumeric? (readonly)

Note:

Default: - 3

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

By default, data is replicated to three DataNodes.



129
130
131
# File 'datasync/cfn_location_hdfs_props.rb', line 129

def replication_factor
  @replication_factor
end

#simple_userString? (readonly)

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

If SIMPLE is specified for AuthenticationType , this parameter is required.



136
137
138
# File 'datasync/cfn_location_hdfs_props.rb', line 136

def simple_user
  @simple_user
end

#subdirectoryString? (readonly)

A subdirectory in the HDFS cluster.

This subdirectory is used to read data from or write data to the HDFS cluster. If the subdirectory isn't specified, it will default to / .



143
144
145
# File 'datasync/cfn_location_hdfs_props.rb', line 143

def subdirectory
  @subdirectory
end

#tagsArray<AWSCDK::CfnTag>? (readonly)

The key-value pair that represents the tag that you want to add to the location.

The value can be an empty string. We recommend using tags to name your resources.



150
151
152
# File 'datasync/cfn_location_hdfs_props.rb', line 150

def tags
  @tags
end

Class Method Details

.jsii_propertiesObject



152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
# File 'datasync/cfn_location_hdfs_props.rb', line 152

def self.jsii_properties
  {
    :agent_arns => "agentArns",
    :authentication_type => "authenticationType",
    :name_nodes => "nameNodes",
    :block_size => "blockSize",
    :cmk_secret_config => "cmkSecretConfig",
    :custom_secret_config => "customSecretConfig",
    :kerberos_keytab => "kerberosKeytab",
    :kerberos_krb5_conf => "kerberosKrb5Conf",
    :kerberos_principal => "kerberosPrincipal",
    :kms_key_provider_uri => "kmsKeyProviderUri",
    :qop_configuration => "qopConfiguration",
    :replication_factor => "replicationFactor",
    :simple_user => "simpleUser",
    :subdirectory => "subdirectory",
    :tags => "tags",
  }
end

Instance Method Details

#to_jsiiObject



172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
# File 'datasync/cfn_location_hdfs_props.rb', line 172

def to_jsii
  result = {}
  result.merge!({
    "agentArns" => @agent_arns,
    "authenticationType" => @authentication_type,
    "nameNodes" => @name_nodes,
    "blockSize" => @block_size,
    "cmkSecretConfig" => @cmk_secret_config,
    "customSecretConfig" => @custom_secret_config,
    "kerberosKeytab" => @kerberos_keytab,
    "kerberosKrb5Conf" => @kerberos_krb5_conf,
    "kerberosPrincipal" => @kerberos_principal,
    "kmsKeyProviderUri" => @kms_key_provider_uri,
    "qopConfiguration" => @qop_configuration,
    "replicationFactor" => @replication_factor,
    "simpleUser" => @simple_user,
    "subdirectory" => @subdirectory,
    "tags" => @tags,
  })
  result.compact
end