Class: AWSCDK::Datasync::CfnLocationFSXONTAP::SMBProperty

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

Overview

Specifies the Server Message Block (SMB) protocol configuration that AWS DataSync uses to access a storage virtual machine (SVM) on your Amazon FSx for NetApp ONTAP file system.

For more information, see Accessing FSx for ONTAP file systems .

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(mount_options:, user:, cmk_secret_config: nil, custom_secret_config: nil, domain: nil, managed_secret_config: nil, password: nil) ⇒ SMBProperty

Returns a new instance of SMBProperty.

Parameters:



852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
# File 'datasync/cfn_location_fsxontap.rb', line 852

def initialize(mount_options:, user:, cmk_secret_config: nil, custom_secret_config: nil, domain: nil, managed_secret_config: nil, password: nil)
  @mount_options = mount_options.is_a?(Hash) ? ::AWSCDK::Datasync::CfnLocationFSXONTAP::SmbMountOptionsProperty.new(**mount_options.transform_keys(&:to_sym)) : mount_options
  Jsii::Type.check_type(@mount_options, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19kYXRhc3luYy5DZm5Mb2NhdGlvbkZTeE9OVEFQLlNtYk1vdW50T3B0aW9uc1Byb3BlcnR5In1dfX0=")), "mountOptions")
  @user = user
  Jsii::Type.check_type(@user, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "user")
  @cmk_secret_config = cmk_secret_config.is_a?(Hash) ? ::AWSCDK::Datasync::CfnLocationFSXONTAP::CmkSecretConfigProperty.new(**cmk_secret_config.transform_keys(&:to_sym)) : cmk_secret_config
  Jsii::Type.check_type(@cmk_secret_config, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19kYXRhc3luYy5DZm5Mb2NhdGlvbkZTeE9OVEFQLkNta1NlY3JldENvbmZpZ1Byb3BlcnR5In1dfX0=")), "cmkSecretConfig") unless @cmk_secret_config.nil?
  @custom_secret_config = custom_secret_config.is_a?(Hash) ? ::AWSCDK::Datasync::CfnLocationFSXONTAP::CustomSecretConfigProperty.new(**custom_secret_config.transform_keys(&:to_sym)) : custom_secret_config
  Jsii::Type.check_type(@custom_secret_config, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19kYXRhc3luYy5DZm5Mb2NhdGlvbkZTeE9OVEFQLkN1c3RvbVNlY3JldENvbmZpZ1Byb3BlcnR5In1dfX0=")), "customSecretConfig") unless @custom_secret_config.nil?
  @domain = domain
  Jsii::Type.check_type(@domain, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "domain") unless @domain.nil?
  @managed_secret_config = managed_secret_config.is_a?(Hash) ? ::AWSCDK::Datasync::CfnLocationFSXONTAP::ManagedSecretConfigProperty.new(**managed_secret_config.transform_keys(&:to_sym)) : managed_secret_config
  Jsii::Type.check_type(@managed_secret_config, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19kYXRhc3luYy5DZm5Mb2NhdGlvbkZTeE9OVEFQLk1hbmFnZWRTZWNyZXRDb25maWdQcm9wZXJ0eSJ9XX19")), "managedSecretConfig") unless @managed_secret_config.nil?
  @password = password
  Jsii::Type.check_type(@password, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "password") unless @password.nil?
end

Instance Attribute Details

#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.



893
894
895
# File 'datasync/cfn_location_fsxontap.rb', line 893

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.



898
899
900
# File 'datasync/cfn_location_fsxontap.rb', line 898

def custom_secret_config
  @custom_secret_config
end

#domainString? (readonly)

Specifies the name of the Windows domain that your storage virtual machine (SVM) belongs to.

If you have multiple domains in your environment, configuring this setting makes sure that DataSync connects to the right SVM.

If you have multiple Active Directory domains in your environment, configuring this parameter makes sure that DataSync connects to the right SVM.



907
908
909
# File 'datasync/cfn_location_fsxontap.rb', line 907

def domain
  @domain
end

#managed_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.

DataSync uses the default AWS-managed KMS key to encrypt this secret in AWS Secrets Manager.



914
915
916
# File 'datasync/cfn_location_fsxontap.rb', line 914

def managed_secret_config
  @managed_secret_config
end

#mount_optionsAWSCDK::IResolvable, AWSCDK::Datasync::CfnLocationFSXONTAP::SmbMountOptionsProperty (readonly)

Specifies how DataSync can access a location using the SMB protocol.



873
874
875
# File 'datasync/cfn_location_fsxontap.rb', line 873

def mount_options
  @mount_options
end

#passwordString? (readonly)

Specifies the password of a user who has permission to access your SVM.



919
920
921
# File 'datasync/cfn_location_fsxontap.rb', line 919

def password
  @password
end

#userString (readonly)

Specifies a user name that can mount the location and access the files, folders, and metadata that you need in the SVM.

If you provide a user in your Active Directory, note the following:

  • If you're using AWS Directory Service for Microsoft Active Directory , the user must be a member of the AWS Delegated FSx Administrators group.
  • If you're using a self-managed Active Directory, the user must be a member of either the Domain Admins group or a custom group that you specified for file system administration when you created your file system.

Make sure that the user has the permissions it needs to copy the data you want:

  • SE_TCB_NAME : Required to set object ownership and file metadata. With this privilege, you also can copy NTFS discretionary access lists (DACLs).
  • SE_SECURITY_NAME : May be needed to copy NTFS system access control lists (SACLs). This operation specifically requires the Windows privilege, which is granted to members of the Domain Admins group. If you configure your task to copy SACLs, make sure that the user has the required privileges. For information about copying SACLs, see Ownership and permissions-related options .


888
889
890
# File 'datasync/cfn_location_fsxontap.rb', line 888

def user
  @user
end

Class Method Details

.jsii_propertiesObject



921
922
923
924
925
926
927
928
929
930
931
# File 'datasync/cfn_location_fsxontap.rb', line 921

def self.jsii_properties
  {
    :mount_options => "mountOptions",
    :user => "user",
    :cmk_secret_config => "cmkSecretConfig",
    :custom_secret_config => "customSecretConfig",
    :domain => "domain",
    :managed_secret_config => "managedSecretConfig",
    :password => "password",
  }
end

Instance Method Details

#to_jsiiObject



933
934
935
936
937
938
939
940
941
942
943
944
945
# File 'datasync/cfn_location_fsxontap.rb', line 933

def to_jsii
  result = {}
  result.merge!({
    "mountOptions" => @mount_options,
    "user" => @user,
    "cmkSecretConfig" => @cmk_secret_config,
    "customSecretConfig" => @custom_secret_config,
    "domain" => @domain,
    "managedSecretConfig" => @managed_secret_config,
    "password" => @password,
  })
  result.compact
end