Class: AWSCDK::Datasync::CfnLocationSMBProps
- Inherits:
-
Jsii::Struct
- Object
- Jsii::Struct
- AWSCDK::Datasync::CfnLocationSMBProps
- Defined in:
- datasync/cfn_location_smb_props.rb
Overview
Properties for defining a CfnLocationSMB.
Instance Attribute Summary collapse
-
#agent_arns ⇒ Array<String>
readonly
Specifies the DataSync agent (or agents) that can connect to your SMB file server.
-
#authentication_type ⇒ String?
readonly
The authentication mode used to determine identity of user.
-
#cmk_secret_config ⇒ AWSCDK::IResolvable, ...
readonly
Specifies configuration information for a DataSync-managed secret, such as an authentication token, secret key, password, or Kerberos keytab that DataSync uses to access a specific storage location, with a customer-managed AWS KMS key .
-
#custom_secret_config ⇒ AWSCDK::IResolvable, ...
readonly
Specifies configuration information for a customer-managed Secrets Manager secret where a storage location credentials is stored in Secrets Manager as plain text (for authentication token, secret key, or password) or as binary (for Kerberos keytab).
-
#dns_ip_addresses ⇒ Array<String>?
readonly
Specifies the IPv4 addresses for the DNS servers that your SMB file server belongs to.
-
#domain ⇒ String?
readonly
Specifies the Windows domain name that your SMB file server belongs to.
-
#kerberos_keytab ⇒ String?
readonly
The Base64 string representation of the Keytab file.
-
#kerberos_krb5_conf ⇒ String?
readonly
The string representation of the Krb5Conf file, or the presigned URL to access the Krb5.conf file within an S3 bucket.
-
#kerberos_principal ⇒ String?
readonly
Specifies a service principal name (SPN), which is an identity in your Kerberos realm that has permission to access the files, folders, and file metadata in your SMB file server.
-
#mount_options ⇒ AWSCDK::IResolvable, ...
readonly
Specifies the version of the SMB protocol that DataSync uses to access your SMB file server.
-
#password ⇒ String?
readonly
Specifies the password of the user who can mount your SMB file server and has permission to access the files and folders involved in your transfer.
-
#server_hostname ⇒ String?
readonly
Specifies the domain name or IP address (IPv4 or IPv6) of the SMB file server that your DataSync agent connects to.
-
#subdirectory ⇒ String?
readonly
Specifies the name of the share exported by your SMB file server where DataSync will read or write data.
-
#tags ⇒ Array<AWSCDK::CfnTag>?
readonly
Specifies labels that help you categorize, filter, and search for your AWS resources.
-
#user ⇒ String?
readonly
Specifies the user that can mount and access the files, folders, and file metadata in your SMB file server.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(agent_arns:, authentication_type: nil, cmk_secret_config: nil, custom_secret_config: nil, dns_ip_addresses: nil, domain: nil, kerberos_keytab: nil, kerberos_krb5_conf: nil, kerberos_principal: nil, mount_options: nil, password: nil, server_hostname: nil, subdirectory: nil, tags: nil, user: nil) ⇒ CfnLocationSMBProps
constructor
A new instance of CfnLocationSMBProps.
- #to_jsii ⇒ Object
Constructor Details
#initialize(agent_arns:, authentication_type: nil, cmk_secret_config: nil, custom_secret_config: nil, dns_ip_addresses: nil, domain: nil, kerberos_keytab: nil, kerberos_krb5_conf: nil, kerberos_principal: nil, mount_options: nil, password: nil, server_hostname: nil, subdirectory: nil, tags: nil, user: nil) ⇒ CfnLocationSMBProps
Returns a new instance of CfnLocationSMBProps.
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_smb_props.rb', line 24 def initialize(agent_arns:, authentication_type: nil, cmk_secret_config: nil, custom_secret_config: nil, dns_ip_addresses: nil, domain: nil, kerberos_keytab: nil, kerberos_krb5_conf: nil, kerberos_principal: nil, mount_options: nil, password: nil, server_hostname: nil, subdirectory: nil, tags: nil, user: 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") unless @authentication_type.nil? @cmk_secret_config = cmk_secret_config.is_a?(Hash) ? ::AWSCDK::Datasync::CfnLocationSMB::CmkSecretConfigProperty.new(**cmk_secret_config.transform_keys(&:to_sym)) : cmk_secret_config Jsii::Type.check_type(@cmk_secret_config, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19kYXRhc3luYy5DZm5Mb2NhdGlvblNNQi5DbWtTZWNyZXRDb25maWdQcm9wZXJ0eSJ9XX19")), "cmkSecretConfig") unless @cmk_secret_config.nil? @custom_secret_config = custom_secret_config.is_a?(Hash) ? ::AWSCDK::Datasync::CfnLocationSMB::CustomSecretConfigProperty.new(**custom_secret_config.transform_keys(&:to_sym)) : custom_secret_config Jsii::Type.check_type(@custom_secret_config, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19kYXRhc3luYy5DZm5Mb2NhdGlvblNNQi5DdXN0b21TZWNyZXRDb25maWdQcm9wZXJ0eSJ9XX19")), "customSecretConfig") unless @custom_secret_config.nil? @dns_ip_addresses = dns_ip_addresses Jsii::Type.check_type(@dns_ip_addresses, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "dnsIpAddresses") unless @dns_ip_addresses.nil? @domain = domain Jsii::Type.check_type(@domain, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "domain") unless @domain.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? @mount_options = .is_a?(Hash) ? ::AWSCDK::Datasync::CfnLocationSMB::MountOptionsProperty.new(**.transform_keys(&:to_sym)) : Jsii::Type.check_type(@mount_options, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19kYXRhc3luYy5DZm5Mb2NhdGlvblNNQi5Nb3VudE9wdGlvbnNQcm9wZXJ0eSJ9XX19")), "mountOptions") unless @mount_options.nil? @password = password Jsii::Type.check_type(@password, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "password") unless @password.nil? @server_hostname = server_hostname Jsii::Type.check_type(@server_hostname, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "serverHostname") unless @server_hostname.nil? @subdirectory = subdirectory Jsii::Type.check_type(@subdirectory, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "subdirectory") unless @subdirectory.nil? @tags = .is_a?(Array) ? .map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::CfnTag.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : Jsii::Type.check_type(@tags, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLkNmblRhZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "tags") unless @tags.nil? @user = user Jsii::Type.check_type(@user, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "user") unless @user.nil? end |
Instance Attribute Details
#agent_arns ⇒ Array<String> (readonly)
Specifies the DataSync agent (or agents) that can connect to your SMB file server.
You specify an agent by using its Amazon Resource Name (ARN).
63 64 65 |
# File 'datasync/cfn_location_smb_props.rb', line 63 def agent_arns @agent_arns end |
#authentication_type ⇒ String? (readonly)
The authentication mode used to determine identity of user.
68 69 70 |
# File 'datasync/cfn_location_smb_props.rb', line 68 def authentication_type @authentication_type end |
#cmk_secret_config ⇒ AWSCDK::IResolvable, ... (readonly)
Specifies configuration information for a DataSync-managed secret, such as an authentication token, secret key, password, or Kerberos keytab that DataSync uses to access a specific storage location, with a customer-managed AWS KMS key .
You can use either
CmkSecretConfigorCustomSecretConfigto provide credentials for aCreateLocationrequest. Do not provide both parameters for the same request.
75 76 77 |
# File 'datasync/cfn_location_smb_props.rb', line 75 def cmk_secret_config @cmk_secret_config end |
#custom_secret_config ⇒ AWSCDK::IResolvable, ... (readonly)
Specifies configuration information for a customer-managed Secrets Manager secret where a storage location credentials is stored in Secrets Manager as plain text (for authentication token, secret key, or password) or as binary (for Kerberos keytab).
This configuration includes the secret ARN, and the ARN for an IAM role that provides access to the secret.
You can use either
CmkSecretConfigorCustomSecretConfigto provide credentials for aCreateLocationrequest. Do not provide both parameters for the same request.
84 85 86 |
# File 'datasync/cfn_location_smb_props.rb', line 84 def custom_secret_config @custom_secret_config end |
#dns_ip_addresses ⇒ Array<String>? (readonly)
Specifies the IPv4 addresses for the DNS servers that your SMB file server belongs to.
This parameter applies only if AuthenticationType is set to KERBEROS. If you have multiple domains in your environment, configuring this parameter makes sure that DataSync connects to the right SMB file server.
91 92 93 |
# File 'datasync/cfn_location_smb_props.rb', line 91 def dns_ip_addresses @dns_ip_addresses end |
#domain ⇒ String? (readonly)
Specifies the Windows domain name that your SMB file server belongs to.
This parameter applies only if AuthenticationType is set to NTLM .
If you have multiple domains in your environment, configuring this parameter makes sure that DataSync connects to the right file server.
100 101 102 |
# File 'datasync/cfn_location_smb_props.rb', line 100 def domain @domain end |
#kerberos_keytab ⇒ String? (readonly)
The Base64 string representation of the Keytab file.
Specifies your Kerberos key table (keytab) file, which includes mappings between your service principal name (SPN) and encryption keys. To avoid task execution errors, make sure that the SPN in the keytab file matches exactly what you specify for KerberosPrincipal and in your krb5.conf file.
107 108 109 |
# File 'datasync/cfn_location_smb_props.rb', line 107 def kerberos_keytab @kerberos_keytab end |
#kerberos_krb5_conf ⇒ String? (readonly)
The string representation of the Krb5Conf file, or the presigned URL to access the Krb5.conf file within an S3 bucket. Specifies a Kerberos configuration file (krb5.conf) that defines your Kerberos realm configuration. To avoid task execution errors, make sure that the service principal name (SPN) in the krb5.conf file matches exactly what you specify for KerberosPrincipal and in your keytab file.
112 113 114 |
# File 'datasync/cfn_location_smb_props.rb', line 112 def kerberos_krb5_conf @kerberos_krb5_conf end |
#kerberos_principal ⇒ String? (readonly)
Specifies a service principal name (SPN), which is an identity in your Kerberos realm that has permission to access the files, folders, and file metadata in your SMB file server.
SPNs are case sensitive and must include a prepended cifs/. For example, an SPN might look like cifs/kerberosuser@EXAMPLE.COM. Your task execution will fail if the SPN that you provide for this parameter doesn't match exactly what's in your keytab or krb5.conf files.
119 120 121 |
# File 'datasync/cfn_location_smb_props.rb', line 119 def kerberos_principal @kerberos_principal end |
#mount_options ⇒ AWSCDK::IResolvable, ... (readonly)
Specifies the version of the SMB protocol that DataSync uses to access your SMB file server.
124 125 126 |
# File 'datasync/cfn_location_smb_props.rb', line 124 def @mount_options end |
#password ⇒ String? (readonly)
Specifies the password of the user who can mount your SMB file server and has permission to access the files and folders involved in your transfer.
This parameter applies only if AuthenticationType is set to NTLM .
131 132 133 |
# File 'datasync/cfn_location_smb_props.rb', line 131 def password @password end |
#server_hostname ⇒ String? (readonly)
Specifies the domain name or IP address (IPv4 or IPv6) of the SMB file server that your DataSync agent connects to.
If you're using Kerberos authentication, you must specify a domain name.
138 139 140 |
# File 'datasync/cfn_location_smb_props.rb', line 138 def server_hostname @server_hostname end |
#subdirectory ⇒ String? (readonly)
Specifies the name of the share exported by your SMB file server where DataSync will read or write data.
You can include a subdirectory in the share path (for example, /path/to/subdirectory ). Make sure that other SMB clients in your network can also mount this path.
To copy all data in the subdirectory, DataSync must be able to mount the SMB share and access all of its data. For more information, see Providing DataSync access to SMB file servers .
147 148 149 |
# File 'datasync/cfn_location_smb_props.rb', line 147 def subdirectory @subdirectory end |
#tags ⇒ Array<AWSCDK::CfnTag>? (readonly)
Specifies labels that help you categorize, filter, and search for your AWS resources.
We recommend creating at least a name tag for your location.
154 155 156 |
# File 'datasync/cfn_location_smb_props.rb', line 154 def @tags end |
#user ⇒ String? (readonly)
Specifies the user that can mount and access the files, folders, and file metadata in your SMB file server.
This parameter applies only if AuthenticationType is set to NTLM .
For information about choosing a user with the right level of access for your transfer, see Providing DataSync access to SMB file servers .
163 164 165 |
# File 'datasync/cfn_location_smb_props.rb', line 163 def user @user end |
Class Method Details
.jsii_properties ⇒ Object
165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 |
# File 'datasync/cfn_location_smb_props.rb', line 165 def self.jsii_properties { :agent_arns => "agentArns", :authentication_type => "authenticationType", :cmk_secret_config => "cmkSecretConfig", :custom_secret_config => "customSecretConfig", :dns_ip_addresses => "dnsIpAddresses", :domain => "domain", :kerberos_keytab => "kerberosKeytab", :kerberos_krb5_conf => "kerberosKrb5Conf", :kerberos_principal => "kerberosPrincipal", :mount_options => "mountOptions", :password => "password", :server_hostname => "serverHostname", :subdirectory => "subdirectory", :tags => "tags", :user => "user", } end |
Instance Method Details
#to_jsii ⇒ Object
185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 |
# File 'datasync/cfn_location_smb_props.rb', line 185 def to_jsii result = {} result.merge!({ "agentArns" => @agent_arns, "authenticationType" => @authentication_type, "cmkSecretConfig" => @cmk_secret_config, "customSecretConfig" => @custom_secret_config, "dnsIpAddresses" => @dns_ip_addresses, "domain" => @domain, "kerberosKeytab" => @kerberos_keytab, "kerberosKrb5Conf" => @kerberos_krb5_conf, "kerberosPrincipal" => @kerberos_principal, "mountOptions" => @mount_options, "password" => @password, "serverHostname" => @server_hostname, "subdirectory" => @subdirectory, "tags" => @tags, "user" => @user, }) result.compact end |