Class: AWSCDK::Datasync::CfnLocationFSXOpenZFSProps

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

Overview

Properties for defining a CfnLocationFSxOpenZFS.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(protocol:, security_group_arns:, fsx_filesystem_arn: nil, subdirectory: nil, tags: nil) ⇒ CfnLocationFSXOpenZFSProps

Returns a new instance of CfnLocationFSXOpenZFSProps.

Parameters:

  • protocol (AWSCDK::IResolvable, AWSCDK::Datasync::CfnLocationFSXOpenZFS::ProtocolProperty)

    The type of protocol that AWS DataSync uses to access your file system.

  • security_group_arns (Array<String>)

    The ARNs of the security groups that are used to configure the FSx for OpenZFS file system.

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

    The Amazon Resource Name (ARN) of the FSx for OpenZFS file system.

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

    A subdirectory in the location's path that must begin with /fsx .

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

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



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

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

#fsx_filesystem_arnString? (readonly)

The Amazon Resource Name (ARN) of the FSx for OpenZFS file system.



45
46
47
# File 'datasync/cfn_location_fsx_open_zfs_props.rb', line 45

def fsx_filesystem_arn
  @fsx_filesystem_arn
end

#protocolAWSCDK::IResolvable, AWSCDK::Datasync::CfnLocationFSXOpenZFS::ProtocolProperty (readonly)

The type of protocol that AWS DataSync uses to access your file system.



31
32
33
# File 'datasync/cfn_location_fsx_open_zfs_props.rb', line 31

def protocol
  @protocol
end

#security_group_arnsArray<String> (readonly)

The ARNs of the security groups that are used to configure the FSx for OpenZFS file system.

Pattern : ^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):ec2:[a-z\-0-9]*:[0-9]{12}:security-group/.*$

Length constraints : Maximum length of 128.



40
41
42
# File 'datasync/cfn_location_fsx_open_zfs_props.rb', line 40

def security_group_arns
  @security_group_arns
end

#subdirectoryString? (readonly)

A subdirectory in the location's path that must begin with /fsx .

DataSync uses this subdirectory to read or write data (depending on whether the file system is a source or destination location).



52
53
54
# File 'datasync/cfn_location_fsx_open_zfs_props.rb', line 52

def subdirectory
  @subdirectory
end

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

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

The value can be an empty string. This value helps you manage, filter, and search for your resources. We recommend that you create a name tag for your location.



59
60
61
# File 'datasync/cfn_location_fsx_open_zfs_props.rb', line 59

def tags
  @tags
end

Class Method Details

.jsii_propertiesObject



61
62
63
64
65
66
67
68
69
# File 'datasync/cfn_location_fsx_open_zfs_props.rb', line 61

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

Instance Method Details

#to_jsiiObject



71
72
73
74
75
76
77
78
79
80
81
# File 'datasync/cfn_location_fsx_open_zfs_props.rb', line 71

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