Class: AWSCDK::Datasync::CfnLocationFSXONTAPProps

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

Overview

Properties for defining a CfnLocationFSxONTAP.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(security_group_arns:, storage_virtual_machine_arn:, protocol: nil, subdirectory: nil, tags: nil) ⇒ CfnLocationFSXONTAPProps

Returns a new instance of CfnLocationFSXONTAPProps.

Parameters:

  • security_group_arns (Array<String>)

    Specifies the Amazon Resource Names (ARNs) of the security groups that DataSync can use to access your FSx for ONTAP file system.

  • storage_virtual_machine_arn (String)

    Specifies the ARN of the storage virtual machine (SVM) in your file system where you want to copy data to or from.

  • protocol (AWSCDK::IResolvable, AWSCDK::Datasync::CfnLocationFSXONTAP::ProtocolProperty, nil) (defaults to: nil)

    Specifies the data transfer protocol that DataSync uses to access your Amazon FSx file system.

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

    Specifies a path to the file share in the SVM where you want to transfer data to or from.

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

    Specifies labels that help you categorize, filter, and search for your AWS resources.



14
15
16
17
18
19
20
21
22
23
24
25
# File 'datasync/cfn_location_fsxontap_props.rb', line 14

def initialize(security_group_arns:, storage_virtual_machine_arn:, protocol: nil, subdirectory: nil, tags: nil)
  @security_group_arns = security_group_arns
  Jsii::Type.check_type(@security_group_arns, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "securityGroupArns")
  @storage_virtual_machine_arn = storage_virtual_machine_arn
  Jsii::Type.check_type(@storage_virtual_machine_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "storageVirtualMachineArn")
  @protocol = protocol.is_a?(Hash) ? ::AWSCDK::Datasync::CfnLocationFSXONTAP::ProtocolProperty.new(**protocol.transform_keys(&:to_sym)) : protocol
  Jsii::Type.check_type(@protocol, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19kYXRhc3luYy5DZm5Mb2NhdGlvbkZTeE9OVEFQLlByb3RvY29sUHJvcGVydHkifV19fQ==")), "protocol") unless @protocol.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

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

Specifies the data transfer protocol that DataSync uses to access your Amazon FSx file system.



48
49
50
# File 'datasync/cfn_location_fsxontap_props.rb', line 48

def protocol
  @protocol
end

#security_group_arnsArray<String> (readonly)

Specifies the Amazon Resource Names (ARNs) of the security groups that DataSync can use to access your FSx for ONTAP file system.

You must configure the security groups to allow outbound traffic on the following ports (depending on the protocol that you're using):

  • Network File System (NFS) : TCP ports 111, 635, and 2049
  • Server Message Block (SMB) : TCP port 445

Your file system's security groups must also allow inbound traffic on the same port.



38
39
40
# File 'datasync/cfn_location_fsxontap_props.rb', line 38

def security_group_arns
  @security_group_arns
end

#storage_virtual_machine_arnString (readonly)

Specifies the ARN of the storage virtual machine (SVM) in your file system where you want to copy data to or from.



43
44
45
# File 'datasync/cfn_location_fsxontap_props.rb', line 43

def storage_virtual_machine_arn
  @storage_virtual_machine_arn
end

#subdirectoryString? (readonly)

Specifies a path to the file share in the SVM where you want to transfer data to or from.

You can specify a junction path (also known as a mount point), qtree path (for NFS file shares), or share name (for SMB file shares). For example, your mount path might be /vol1 , /vol1/tree1 , or /share1 .

Don't specify a junction path in the SVM's root volume. For more information, see Managing FSx for ONTAP storage virtual machines in the Amazon FSx for NetApp ONTAP User Guide .



57
58
59
# File 'datasync/cfn_location_fsxontap_props.rb', line 57

def subdirectory
  @subdirectory
end

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



64
65
66
# File 'datasync/cfn_location_fsxontap_props.rb', line 64

def tags
  @tags
end

Class Method Details

.jsii_propertiesObject



66
67
68
69
70
71
72
73
74
# File 'datasync/cfn_location_fsxontap_props.rb', line 66

def self.jsii_properties
  {
    :security_group_arns => "securityGroupArns",
    :storage_virtual_machine_arn => "storageVirtualMachineArn",
    :protocol => "protocol",
    :subdirectory => "subdirectory",
    :tags => "tags",
  }
end

Instance Method Details

#to_jsiiObject



76
77
78
79
80
81
82
83
84
85
86
# File 'datasync/cfn_location_fsxontap_props.rb', line 76

def to_jsii
  result = {}
  result.merge!({
    "securityGroupArns" => @security_group_arns,
    "storageVirtualMachineArn" => @storage_virtual_machine_arn,
    "protocol" => @protocol,
    "subdirectory" => @subdirectory,
    "tags" => @tags,
  })
  result.compact
end