Class: AWSCDK::FSX::CfnVolumeProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
fsx/cfn_volume_props.rb

Overview

Properties for defining a CfnVolume.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name:, backup_id: nil, ontap_configuration: nil, open_zfs_configuration: nil, tags: nil, volume_type: nil) ⇒ CfnVolumeProps

Returns a new instance of CfnVolumeProps.

Parameters:



15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'fsx/cfn_volume_props.rb', line 15

def initialize(name:, backup_id: nil, ontap_configuration: nil, open_zfs_configuration: nil, tags: nil, volume_type: nil)
  @name = name
  Jsii::Type.check_type(@name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "name")
  @backup_id = backup_id
  Jsii::Type.check_type(@backup_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "backupId") unless @backup_id.nil?
  @ontap_configuration = ontap_configuration.is_a?(Hash) ? ::AWSCDK::FSX::CfnVolume::OntapConfigurationProperty.new(**ontap_configuration.transform_keys(&:to_sym)) : ontap_configuration
  Jsii::Type.check_type(@ontap_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19mc3guQ2ZuVm9sdW1lLk9udGFwQ29uZmlndXJhdGlvblByb3BlcnR5In1dfX0=")), "ontapConfiguration") unless @ontap_configuration.nil?
  @open_zfs_configuration = open_zfs_configuration.is_a?(Hash) ? ::AWSCDK::FSX::CfnVolume::OpenZFSConfigurationProperty.new(**open_zfs_configuration.transform_keys(&:to_sym)) : open_zfs_configuration
  Jsii::Type.check_type(@open_zfs_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19mc3guQ2ZuVm9sdW1lLk9wZW5aRlNDb25maWd1cmF0aW9uUHJvcGVydHkifV19fQ==")), "openZfsConfiguration") unless @open_zfs_configuration.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?
  @volume_type = volume_type
  Jsii::Type.check_type(@volume_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "volumeType") unless @volume_type.nil?
end

Instance Attribute Details

#backup_idString? (readonly)

Specifies the ID of the volume backup to use to create a new volume.



39
40
41
# File 'fsx/cfn_volume_props.rb', line 39

def backup_id
  @backup_id
end

#nameString (readonly)

The name of the volume.



34
35
36
# File 'fsx/cfn_volume_props.rb', line 34

def name
  @name
end

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

The configuration of an Amazon FSx for NetApp ONTAP volume.



44
45
46
# File 'fsx/cfn_volume_props.rb', line 44

def ontap_configuration
  @ontap_configuration
end

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

The configuration of an Amazon FSx for OpenZFS volume.



49
50
51
# File 'fsx/cfn_volume_props.rb', line 49

def open_zfs_configuration
  @open_zfs_configuration
end

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

An array of key-value pairs to apply to this resource.

For more information, see Tag .



56
57
58
# File 'fsx/cfn_volume_props.rb', line 56

def tags
  @tags
end

#volume_typeString? (readonly)

The type of the volume.



61
62
63
# File 'fsx/cfn_volume_props.rb', line 61

def volume_type
  @volume_type
end

Class Method Details

.jsii_propertiesObject



63
64
65
66
67
68
69
70
71
72
# File 'fsx/cfn_volume_props.rb', line 63

def self.jsii_properties
  {
    :name => "name",
    :backup_id => "backupId",
    :ontap_configuration => "ontapConfiguration",
    :open_zfs_configuration => "openZfsConfiguration",
    :tags => "tags",
    :volume_type => "volumeType",
  }
end

Instance Method Details

#to_jsiiObject



74
75
76
77
78
79
80
81
82
83
84
85
# File 'fsx/cfn_volume_props.rb', line 74

def to_jsii
  result = {}
  result.merge!({
    "name" => @name,
    "backupId" => @backup_id,
    "ontapConfiguration" => @ontap_configuration,
    "openZfsConfiguration" => @open_zfs_configuration,
    "tags" => @tags,
    "volumeType" => @volume_type,
  })
  result.compact
end