Class: AWSCDK::EFS::CfnFileSystem

Inherits:
CfnResource
  • Object
show all
Includes:
IInspectable, ITaggable, Interfaces::AWSEFS::IFileSystemRef
Defined in:
efs/cfn_file_system.rb

Overview

The AWS::EFS::FileSystem resource creates a new, empty file system in Amazon Elastic File System ( Amazon EFS ).

You must create a mount target ( AWS::EFS::MountTarget ) to mount your EFS file system on an Amazon EC2 or other AWS cloud compute resource.

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(scope, id, props = nil) ⇒ CfnFileSystem

Create a new AWS::EFS::FileSystem.

Parameters:

  • scope (Constructs::Construct)

    Scope in which this resource is defined.

  • id (String)

    Construct identifier for this resource (unique in its scope).

  • props (AWSCDK::EFS::CfnFileSystemProps, nil) (defaults to: nil)

    Resource properties.



20
21
22
23
24
25
26
# File 'efs/cfn_file_system.rb', line 20

def initialize(scope, id, props = nil)
  props = props.is_a?(Hash) ? ::AWSCDK::EFS::CfnFileSystemProps.new(**props.transform_keys(&:to_sym)) : props
  Jsii::Type.check_type(scope, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJjb25zdHJ1Y3RzLkNvbnN0cnVjdCJ9")), "scope")
  Jsii::Type.check_type(id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "id")
  Jsii::Type.check_type(props, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZWZzLkNmbkZpbGVTeXN0ZW1Qcm9wcyJ9")), "props") unless props.nil?
  Jsii::Object.instance_method(:initialize).bind(self).call(scope, id, props)
end

Class Method Details

.arn_for_file_system(resource) ⇒ String

Parameters:

Returns:

  • (String)


87
88
89
90
# File 'efs/cfn_file_system.rb', line 87

def self.arn_for_file_system(resource)
  Jsii::Type.check_type(resource, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5pbnRlcmZhY2VzLmF3c19lZnMuSUZpbGVTeXN0ZW1SZWYifQ==")), "resource")
  Jsii::Kernel.instance.call_static("aws-cdk-lib.aws_efs.CfnFileSystem", "arnForFileSystem", [resource])
end

.CFN_RESOURCE_TYPE_NAMEString

The CloudFormation resource type name for this resource class.

Returns:

  • (String)


220
221
222
# File 'efs/cfn_file_system.rb', line 220

def self.CFN_RESOURCE_TYPE_NAME()
  Jsii::Kernel.instance.get_static("aws-cdk-lib.aws_efs.CfnFileSystem", "CFN_RESOURCE_TYPE_NAME")
end

.from_file_system_arn(scope, id, arn) ⇒ AWSCDK::Interfaces::AWSEFS::IFileSystemRef

Creates a new IFileSystemRef from an ARN.

Parameters:

  • scope (Constructs::Construct)
  • id (String)
  • arn (String)

Returns:



98
99
100
101
102
103
# File 'efs/cfn_file_system.rb', line 98

def self.from_file_system_arn(scope, id, arn)
  Jsii::Type.check_type(scope, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJjb25zdHJ1Y3RzLkNvbnN0cnVjdCJ9")), "scope")
  Jsii::Type.check_type(id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "id")
  Jsii::Type.check_type(arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "arn")
  Jsii::Kernel.instance.call_static("aws-cdk-lib.aws_efs.CfnFileSystem", "fromFileSystemArn", [scope, id, arn])
end

.from_file_system_id(scope, id, file_system_id) ⇒ AWSCDK::Interfaces::AWSEFS::IFileSystemRef

Creates a new IFileSystemRef from a fileSystemId.

Parameters:

  • scope (Constructs::Construct)
  • id (String)
  • file_system_id (String)

Returns:



111
112
113
114
115
116
# File 'efs/cfn_file_system.rb', line 111

def self.from_file_system_id(scope, id, file_system_id)
  Jsii::Type.check_type(scope, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJjb25zdHJ1Y3RzLkNvbnN0cnVjdCJ9")), "scope")
  Jsii::Type.check_type(id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "id")
  Jsii::Type.check_type(file_system_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "fileSystemId")
  Jsii::Kernel.instance.call_static("aws-cdk-lib.aws_efs.CfnFileSystem", "fromFileSystemId", [scope, id, file_system_id])
end

.is_cfn_file_system(x) ⇒ Boolean

Checks whether the given object is a CfnFileSystem.

Parameters:

  • x (Object)

Returns:

  • (Boolean)


122
123
124
125
# File 'efs/cfn_file_system.rb', line 122

def self.is_cfn_file_system(x)
  Jsii::Type.check_type(x, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJhbnkifQ==")), "x")
  Jsii::Kernel.instance.call_static("aws-cdk-lib.aws_efs.CfnFileSystem", "isCfnFileSystem", [x])
end

.jsii_overridable_methodsObject



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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
# File 'efs/cfn_file_system.rb', line 28

def self.jsii_overridable_methods
  {
    :node => { kind: :property, name: "node", is_optional: false },
    :creation_stack => { kind: :property, name: "creationStack", is_optional: false },
    :logical_id => { kind: :property, name: "logicalId", is_optional: false },
    :stack => { kind: :property, name: "stack", is_optional: false },
    :ref => { kind: :property, name: "ref", is_optional: false },
    :cfn_options => { kind: :property, name: "cfnOptions", is_optional: false },
    :cfn_properties => { kind: :property, name: "cfnProperties", is_optional: false },
    :cfn_property_names => { kind: :property, name: "cfnPropertyNames", is_optional: false },
    :cfn_resource_type => { kind: :property, name: "cfnResourceType", is_optional: false },
    :env => { kind: :property, name: "env", is_optional: false },
    :updated_properites => { kind: :property, name: "updatedProperites", is_optional: false },
    :updated_properties => { kind: :property, name: "updatedProperties", is_optional: false },
    :attr_arn => { kind: :property, name: "attrArn", is_optional: false },
    :attr_file_system_id => { kind: :property, name: "attrFileSystemId", is_optional: false },
    :file_system_ref => { kind: :property, name: "fileSystemRef", is_optional: false },
    :tags => { kind: :property, name: "tags", is_optional: false },
    :file_system_policy => { kind: :property, name: "fileSystemPolicy", is_optional: false },
    :availability_zone_name => { kind: :property, name: "availabilityZoneName", is_optional: true },
    :backup_policy => { kind: :property, name: "backupPolicy", is_optional: true },
    :bypass_policy_lockout_safety_check => { kind: :property, name: "bypassPolicyLockoutSafetyCheck", is_optional: true },
    :encrypted => { kind: :property, name: "encrypted", is_optional: true },
    :file_system_protection => { kind: :property, name: "fileSystemProtection", is_optional: true },
    :file_system_tags_raw => { kind: :property, name: "fileSystemTagsRaw", is_optional: true },
    :kms_key_id => { kind: :property, name: "kmsKeyId", is_optional: true },
    :lifecycle_policies => { kind: :property, name: "lifecyclePolicies", is_optional: true },
    :performance_mode => { kind: :property, name: "performanceMode", is_optional: true },
    :provisioned_throughput_in_mibps => { kind: :property, name: "provisionedThroughputInMibps", is_optional: true },
    :replication_configuration => { kind: :property, name: "replicationConfiguration", is_optional: true },
    :throughput_mode => { kind: :property, name: "throughputMode", is_optional: true },
    :to_string => { kind: :method, name: "toString", is_optional: false },
    :with => { kind: :method, name: "with", is_optional: false },
    :override_logical_id => { kind: :method, name: "overrideLogicalId", is_optional: false },
    :add_deletion_override => { kind: :method, name: "addDeletionOverride", is_optional: false },
    :add_dependency => { kind: :method, name: "addDependency", is_optional: false },
    :add_depends_on => { kind: :method, name: "addDependsOn", is_optional: false },
    :add_metadata => { kind: :method, name: "addMetadata", is_optional: false },
    :add_override => { kind: :method, name: "addOverride", is_optional: false },
    :add_property_deletion_override => { kind: :method, name: "addPropertyDeletionOverride", is_optional: false },
    :add_property_override => { kind: :method, name: "addPropertyOverride", is_optional: false },
    :apply_cross_stack_reference_strength => { kind: :method, name: "applyCrossStackReferenceStrength", is_optional: false },
    :apply_removal_policy => { kind: :method, name: "applyRemovalPolicy", is_optional: false },
    :cfn_property_name => { kind: :method, name: "cfnPropertyName", is_optional: false },
    :get_att => { kind: :method, name: "getAtt", is_optional: false },
    :get_metadata => { kind: :method, name: "getMetadata", is_optional: false },
    :obtain_dependencies => { kind: :method, name: "obtainDependencies", is_optional: false },
    :obtain_resource_dependencies => { kind: :method, name: "obtainResourceDependencies", is_optional: false },
    :remove_dependency => { kind: :method, name: "removeDependency", is_optional: false },
    :render_properties => { kind: :method, name: "renderProperties", is_optional: false },
    :replace_dependency => { kind: :method, name: "replaceDependency", is_optional: false },
    :should_synthesize => { kind: :method, name: "shouldSynthesize", is_optional: false },
    :validate_properties => { kind: :method, name: "validateProperties", is_optional: false },
    :inspect => { kind: :method, name: "inspect", is_optional: false },
  }
end

Instance Method Details

#add_deletion_override(path) ⇒ void

This method returns an undefined value.

Syntactic sugar for addOverride(path, undefined).

Parameters:

  • path (String)

    The path of the value to delete.



452
453
454
455
# File 'efs/cfn_file_system.rb', line 452

def add_deletion_override(path)
  Jsii::Type.check_type(path, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "path")
  jsii_call_method("addDeletionOverride", [path])
end

#add_dependency(target) ⇒ void

This method returns an undefined value.

Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.

This can be used for resources across stacks (or nested stack) boundaries and the dependency will automatically be transferred to the relevant scope.

Parameters:



464
465
466
467
# File 'efs/cfn_file_system.rb', line 464

def add_dependency(target)
  Jsii::Type.check_type(target, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5DZm5SZXNvdXJjZSJ9")), "target")
  jsii_call_method("addDependency", [target])
end

#add_depends_on(target) ⇒ void

Deprecated.

use addDependency

This method returns an undefined value.

Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.

Parameters:



474
475
476
477
# File 'efs/cfn_file_system.rb', line 474

def add_depends_on(target)
  Jsii::Type.check_type(target, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5DZm5SZXNvdXJjZSJ9")), "target")
  jsii_call_method("addDependsOn", [target])
end

#add_metadata(key, value) ⇒ void

This method returns an undefined value.

Add a value to the CloudFormation Resource Metadata.



485
486
487
488
489
# File 'efs/cfn_file_system.rb', line 485

def (key, value)
  Jsii::Type.check_type(key, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "key")
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJhbnkifQ==")), "value")
  jsii_call_method("addMetadata", [key, value])
end

#add_override(path, value) ⇒ void

This method returns an undefined value.

Adds an override to the synthesized CloudFormation resource.

To add a property override, either use add_property_override or prefix path with "Properties." (i.e. Properties.TopicName).

If the override is nested, separate each nested level using a dot (.) in the path parameter. If there is an array as part of the nesting, specify the index in the path.

To include a literal . in the property name, prefix with a \. In most programming languages you will need to write this as "\\." because the \ itself will need to be escaped.

For example,

# Example automatically generated from non-compiling source. May contain errors.
cfn_resource.add_override("Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes", ["myattribute"])
cfn_resource.add_override("Properties.GlobalSecondaryIndexes.1.ProjectionType", "INCLUDE")

would add the overrides

"Properties": {
  "GlobalSecondaryIndexes": [
    {
      "Projection": {
        "NonKeyAttributes": [ "myattribute" ]
        ...
      }
      ...
    },
    {
      "ProjectionType": "INCLUDE"
      ...
    },
  ]
  ...
}

The value argument to add_override will not be processed or translated in any way. Pass raw JSON values in here with the correct capitalization for CloudFormation. If you pass CDK classes or structs, they will be rendered with lowercased key names, and CloudFormation will reject the template.

Parameters:

  • path (String)
    • The path of the property, you can use dot notation to override values in complex types.
  • value (Object)
    • The value.


542
543
544
545
546
# File 'efs/cfn_file_system.rb', line 542

def add_override(path, value)
  Jsii::Type.check_type(path, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "path")
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJhbnkifQ==")), "value")
  jsii_call_method("addOverride", [path, value])
end

#add_property_deletion_override(property_path) ⇒ void

This method returns an undefined value.

Adds an override that deletes the value of a property from the resource definition.

Parameters:

  • property_path (String)

    The path to the property.



552
553
554
555
# File 'efs/cfn_file_system.rb', line 552

def add_property_deletion_override(property_path)
  Jsii::Type.check_type(property_path, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "propertyPath")
  jsii_call_method("addPropertyDeletionOverride", [property_path])
end

#add_property_override(property_path, value) ⇒ void

This method returns an undefined value.

Adds an override to a resource property.

Syntactic sugar for addOverride("Properties.<...>", value).

Parameters:

  • property_path (String)

    The path of the property.

  • value (Object)

    The value.



564
565
566
567
568
# File 'efs/cfn_file_system.rb', line 564

def add_property_override(property_path, value)
  Jsii::Type.check_type(property_path, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "propertyPath")
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJhbnkifQ==")), "value")
  jsii_call_method("addPropertyOverride", [property_path, value])
end

#apply_cross_stack_reference_strength(strength) ⇒ void

This method returns an undefined value.

Sets the cross-stack reference strength for this resource.

When set, any cross-stack reference to this resource will use the specified strength instead of the global default from the consuming stack's context.

Parameters:



577
578
579
580
# File 'efs/cfn_file_system.rb', line 577

def apply_cross_stack_reference_strength(strength)
  Jsii::Type.check_type(strength, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5SZWZlcmVuY2VTdHJlbmd0aCJ9")), "strength")
  jsii_call_method("applyCrossStackReferenceStrength", [strength])
end

#apply_removal_policy(policy = nil, options = nil) ⇒ void

This method returns an undefined value.

Sets the deletion policy of the resource based on the removal policy specified.

The Removal Policy controls what happens to this resource when it stops being managed by CloudFormation, either because you've removed it from the CDK application or because you've made a change that requires the resource to be replaced.

The resource can be deleted (RemovalPolicy.DESTROY), or left in your AWS account for data recovery and cleanup later (RemovalPolicy.RETAIN). In some cases, a snapshot can be taken of the resource prior to deletion (RemovalPolicy.SNAPSHOT). A list of resources that support this policy can be found in the following link:



599
600
601
602
603
604
# File 'efs/cfn_file_system.rb', line 599

def apply_removal_policy(policy = nil, options = nil)
  Jsii::Type.check_type(policy, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5SZW1vdmFsUG9saWN5In0=")), "policy") unless policy.nil?
  options = options.is_a?(Hash) ? ::AWSCDK::RemovalPolicyOptions.new(**options.transform_keys(&:to_sym)) : options
  Jsii::Type.check_type(options, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5SZW1vdmFsUG9saWN5T3B0aW9ucyJ9")), "options") unless options.nil?
  jsii_call_method("applyRemovalPolicy", [policy, options])
end

#attr_arnString

The Amazon Resource Name (ARN) of the EFS file system.

Example: arn:aws:elasticfilesystem:us-west-2:1111333322228888:file-system/fs-0123456789abcdef8

Returns:

  • (String)


229
230
231
# File 'efs/cfn_file_system.rb', line 229

def attr_arn()
  jsii_get_property("attrArn")
end

#attr_file_system_idString

The ID of the EFS file system.

For example: fs-abcdef0123456789a

Returns:

  • (String)


238
239
240
# File 'efs/cfn_file_system.rb', line 238

def attr_file_system_id()
  jsii_get_property("attrFileSystemId")
end

#availability_zone_nameString?

For One Zone file systems, specify the AWS Availability Zone in which to create the file system.

Returns:

  • (String, nil)


271
272
273
# File 'efs/cfn_file_system.rb', line 271

def availability_zone_name()
  jsii_get_property("availabilityZoneName")
end

#availability_zone_name=(value) ⇒ Object



275
276
277
278
# File 'efs/cfn_file_system.rb', line 275

def availability_zone_name=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "availabilityZoneName") unless value.nil?
  jsii_set_property("availabilityZoneName", value)
end

#backup_policyAWSCDK::IResolvable, ...

Use the BackupPolicy to turn automatic backups on or off for the file system.



283
284
285
# File 'efs/cfn_file_system.rb', line 283

def backup_policy()
  jsii_get_property("backupPolicy")
end

#backup_policy=(value) ⇒ Object



287
288
289
290
291
# File 'efs/cfn_file_system.rb', line 287

def backup_policy=(value)
  value = value.is_a?(Hash) ? ::AWSCDK::EFS::CfnFileSystem::BackupPolicyProperty.new(**value.transform_keys(&:to_sym)) : value
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lZnMuQ2ZuRmlsZVN5c3RlbS5CYWNrdXBQb2xpY3lQcm9wZXJ0eSJ9XX19")), "backupPolicy") unless value.nil?
  jsii_set_property("backupPolicy", value)
end

#bypass_policy_lockout_safety_checkBoolean, ...

(Optional) A boolean that specifies whether or not to bypass the FileSystemPolicy lockout safety check.

Returns:



296
297
298
# File 'efs/cfn_file_system.rb', line 296

def bypass_policy_lockout_safety_check()
  jsii_get_property("bypassPolicyLockoutSafetyCheck")
end

#bypass_policy_lockout_safety_check=(value) ⇒ Object



300
301
302
303
# File 'efs/cfn_file_system.rb', line 300

def bypass_policy_lockout_safety_check=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "bypassPolicyLockoutSafetyCheck") unless value.nil?
  jsii_set_property("bypassPolicyLockoutSafetyCheck", value)
end

#cfn_optionsAWSCDK::ICfnResourceOptions

Options for this resource, such as condition, update policy etc.



173
174
175
# File 'efs/cfn_file_system.rb', line 173

def cfn_options()
  jsii_get_property("cfnOptions")
end

#cfn_propertiesHash{String => Object}

Returns:

  • (Hash{String => Object})


178
179
180
# File 'efs/cfn_file_system.rb', line 178

def cfn_properties()
  jsii_get_property("cfnProperties")
end

#cfn_property_name(cdk_property_name) ⇒ String?

Parameters:

  • cdk_property_name (String)

Returns:

  • (String, nil)


608
609
610
611
# File 'efs/cfn_file_system.rb', line 608

def cfn_property_name(cdk_property_name)
  Jsii::Type.check_type(cdk_property_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "cdkPropertyName")
  jsii_call_method("cfnPropertyName", [cdk_property_name])
end

#cfn_property_namesHash{String => String}

Returns:

  • (Hash{String => String})


183
184
185
# File 'efs/cfn_file_system.rb', line 183

def cfn_property_names()
  jsii_get_property("cfnPropertyNames")
end

#cfn_resource_typeString

AWS resource type.

Returns:

  • (String)


190
191
192
# File 'efs/cfn_file_system.rb', line 190

def cfn_resource_type()
  jsii_get_property("cfnResourceType")
end

#creation_stackArray<String>

Returns:

  • (Array<String>)


135
136
137
# File 'efs/cfn_file_system.rb', line 135

def creation_stack()
  jsii_get_property("creationStack")
end

#encryptedBoolean, ...

A Boolean value that, if true, creates an encrypted file system.

Returns:



308
309
310
# File 'efs/cfn_file_system.rb', line 308

def encrypted()
  jsii_get_property("encrypted")
end

#encrypted=(value) ⇒ Object



312
313
314
315
# File 'efs/cfn_file_system.rb', line 312

def encrypted=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "encrypted") unless value.nil?
  jsii_set_property("encrypted", value)
end

#envAWSCDK::Interfaces::ResourceEnvironment



195
196
197
# File 'efs/cfn_file_system.rb', line 195

def env()
  jsii_get_property("env")
end

#file_system_policyObject

The FileSystemPolicy for the EFS file system.

Returns:

  • (Object)


259
260
261
# File 'efs/cfn_file_system.rb', line 259

def file_system_policy()
  jsii_get_property("fileSystemPolicy")
end

#file_system_policy=(value) ⇒ Object



263
264
265
266
# File 'efs/cfn_file_system.rb', line 263

def file_system_policy=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJhbnkifQ==")), "fileSystemPolicy")
  jsii_set_property("fileSystemPolicy", value)
end

#file_system_protectionAWSCDK::IResolvable, ...

Describes the protection on the file system.



320
321
322
# File 'efs/cfn_file_system.rb', line 320

def file_system_protection()
  jsii_get_property("fileSystemProtection")
end

#file_system_protection=(value) ⇒ Object



324
325
326
327
328
# File 'efs/cfn_file_system.rb', line 324

def file_system_protection=(value)
  value = value.is_a?(Hash) ? ::AWSCDK::EFS::CfnFileSystem::FileSystemProtectionProperty.new(**value.transform_keys(&:to_sym)) : value
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lZnMuQ2ZuRmlsZVN5c3RlbS5GaWxlU3lzdGVtUHJvdGVjdGlvblByb3BlcnR5In1dfX0=")), "fileSystemProtection") unless value.nil?
  jsii_set_property("fileSystemProtection", value)
end

#file_system_refAWSCDK::Interfaces::AWSEFS::FileSystemReference

A reference to a FileSystem resource.



245
246
247
# File 'efs/cfn_file_system.rb', line 245

def file_system_ref()
  jsii_get_property("fileSystemRef")
end

#file_system_tags_rawArray<AWSCDK::EFS::CfnFileSystem::ElasticFileSystemTagProperty>?

Use to create one or more tags associated with the file system.



333
334
335
# File 'efs/cfn_file_system.rb', line 333

def file_system_tags_raw()
  jsii_get_property("fileSystemTagsRaw")
end

#file_system_tags_raw=(value) ⇒ Object



337
338
339
340
341
# File 'efs/cfn_file_system.rb', line 337

def file_system_tags_raw=(value)
  value = value.is_a?(Array) ? value.map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::EFS::CfnFileSystem::ElasticFileSystemTagProperty.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : value
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lZnMuQ2ZuRmlsZVN5c3RlbS5FbGFzdGljRmlsZVN5c3RlbVRhZ1Byb3BlcnR5In0sImtpbmQiOiJhcnJheSJ9fQ==")), "fileSystemTagsRaw") unless value.nil?
  jsii_set_property("fileSystemTagsRaw", value)
end

#get_att(attribute_name, type_hint = nil) ⇒ AWSCDK::Reference

Returns a token for an runtime attribute of this resource.

Ideally, use generated attribute accessors (e.g. resource.arn), but this can be used for future compatibility in case there is no generated attribute.

Parameters:

Returns:



621
622
623
624
625
# File 'efs/cfn_file_system.rb', line 621

def get_att(attribute_name, type_hint = nil)
  Jsii::Type.check_type(attribute_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "attributeName")
  Jsii::Type.check_type(type_hint, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5SZXNvbHV0aW9uVHlwZUhpbnQifQ==")), "typeHint") unless type_hint.nil?
  jsii_call_method("getAtt", [attribute_name, type_hint])
end

#get_metadata(key) ⇒ Object

Retrieve a value value from the CloudFormation Resource Metadata.



632
633
634
635
# File 'efs/cfn_file_system.rb', line 632

def (key)
  Jsii::Type.check_type(key, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "key")
  jsii_call_method("getMetadata", [key])
end

#inspect(inspector) ⇒ void

This method returns an undefined value.

Examines the CloudFormation resource and discloses attributes.

Parameters:



702
703
704
705
# File 'efs/cfn_file_system.rb', line 702

def inspect(inspector)
  Jsii::Type.check_type(inspector, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5UcmVlSW5zcGVjdG9yIn0=")), "inspector")
  jsii_call_method("inspect", [inspector])
end

#kms_key_idString?

The ID of the AWS KMS key to be used to protect the encrypted file system.

Returns:

  • (String, nil)


346
347
348
# File 'efs/cfn_file_system.rb', line 346

def kms_key_id()
  jsii_get_property("kmsKeyId")
end

#kms_key_id=(value) ⇒ Object



350
351
352
353
# File 'efs/cfn_file_system.rb', line 350

def kms_key_id=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "kmsKeyId") unless value.nil?
  jsii_set_property("kmsKeyId", value)
end

#lifecycle_policiesAWSCDK::IResolvable, ...

An array of LifecyclePolicy objects that define the file system's LifecycleConfiguration object.



358
359
360
# File 'efs/cfn_file_system.rb', line 358

def lifecycle_policies()
  jsii_get_property("lifecyclePolicies")
end

#lifecycle_policies=(value) ⇒ Object



362
363
364
365
# File 'efs/cfn_file_system.rb', line 362

def lifecycle_policies=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZWZzLkNmbkZpbGVTeXN0ZW0uTGlmZWN5Y2xlUG9saWN5UHJvcGVydHkifV19fSwia2luZCI6ImFycmF5In19XX19")), "lifecyclePolicies") unless value.nil?
  jsii_set_property("lifecyclePolicies", value)
end

#logical_idString

The logical ID for this CloudFormation stack element.

The logical ID of the element is calculated from the path of the resource node in the construct tree.

To override this value, use override_logical_id(new_logical_id).

Returns:

  • (String)


147
148
149
# File 'efs/cfn_file_system.rb', line 147

def logical_id()
  jsii_get_property("logicalId")
end

#nodeConstructs::Node

The tree node.

Returns:

  • (Constructs::Node)


130
131
132
# File 'efs/cfn_file_system.rb', line 130

def node()
  jsii_get_property("node")
end

#obtain_dependenciesArray<AWSCDK::CfnResource, AWSCDK::Stack>

Retrieves an array of resources this resource depends on.

This assembles dependencies on resources across stacks (including nested stacks) automatically.

Returns:



643
644
645
# File 'efs/cfn_file_system.rb', line 643

def obtain_dependencies()
  jsii_call_method("obtainDependencies", [])
end

#obtain_resource_dependenciesArray<AWSCDK::CfnResource>

Get a shallow copy of dependencies between this resource and other resources in the same stack.

Returns:



650
651
652
# File 'efs/cfn_file_system.rb', line 650

def obtain_resource_dependencies()
  jsii_call_method("obtainResourceDependencies", [])
end

#override_logical_id(new_logical_id) ⇒ void

This method returns an undefined value.

Overrides the auto-generated logical ID with a specific ID.

Parameters:

  • new_logical_id (String)

    The new logical ID to use for this stack element.



443
444
445
446
# File 'efs/cfn_file_system.rb', line 443

def override_logical_id(new_logical_id)
  Jsii::Type.check_type(new_logical_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "newLogicalId")
  jsii_call_method("overrideLogicalId", [new_logical_id])
end

#performance_modeString?

The performance mode of the file system.

Returns:

  • (String, nil)


370
371
372
# File 'efs/cfn_file_system.rb', line 370

def performance_mode()
  jsii_get_property("performanceMode")
end

#performance_mode=(value) ⇒ Object



374
375
376
377
# File 'efs/cfn_file_system.rb', line 374

def performance_mode=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "performanceMode") unless value.nil?
  jsii_set_property("performanceMode", value)
end

#provisioned_throughput_in_mibpsNumeric?

The throughput, measured in mebibytes per second (MiBps), that you want to provision for a file system that you're creating.

Returns:

  • (Numeric, nil)


382
383
384
# File 'efs/cfn_file_system.rb', line 382

def provisioned_throughput_in_mibps()
  jsii_get_property("provisionedThroughputInMibps")
end

#provisioned_throughput_in_mibps=(value) ⇒ Object



386
387
388
389
# File 'efs/cfn_file_system.rb', line 386

def provisioned_throughput_in_mibps=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "provisionedThroughputInMibps") unless value.nil?
  jsii_set_property("provisionedThroughputInMibps", value)
end

#refString

Return a string that will be resolved to a CloudFormation { Ref } for this element.

If, by any chance, the intrinsic reference of a resource is not a string, you could coerce it to an IResolvable through Lazy.any({ produce: resource.ref }).

Returns:

  • (String)


166
167
168
# File 'efs/cfn_file_system.rb', line 166

def ref()
  jsii_get_property("ref")
end

#remove_dependency(target) ⇒ void

This method returns an undefined value.

Indicates that this resource no longer depends on another resource.

This can be used for resources across stacks (including nested stacks) and the dependency will automatically be removed from the relevant scope.

Parameters:



661
662
663
664
# File 'efs/cfn_file_system.rb', line 661

def remove_dependency(target)
  Jsii::Type.check_type(target, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5DZm5SZXNvdXJjZSJ9")), "target")
  jsii_call_method("removeDependency", [target])
end

#render_properties(props) ⇒ Hash{String => Object}

Parameters:

  • props (Hash{String => Object})

Returns:

  • (Hash{String => Object})


668
669
670
671
# File 'efs/cfn_file_system.rb', line 668

def render_properties(props)
  Jsii::Type.check_type(props, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6ImFueSJ9LCJraW5kIjoibWFwIn19")), "props")
  jsii_call_method("renderProperties", [props])
end

#replace_dependency(target, new_target) ⇒ void

This method returns an undefined value.

Replaces one dependency with another.

Parameters:



678
679
680
681
682
# File 'efs/cfn_file_system.rb', line 678

def replace_dependency(target, new_target)
  Jsii::Type.check_type(target, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5DZm5SZXNvdXJjZSJ9")), "target")
  Jsii::Type.check_type(new_target, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5DZm5SZXNvdXJjZSJ9")), "newTarget")
  jsii_call_method("replaceDependency", [target, new_target])
end

#replication_configurationAWSCDK::IResolvable, ...

Describes the replication configuration for a specific file system.



394
395
396
# File 'efs/cfn_file_system.rb', line 394

def replication_configuration()
  jsii_get_property("replicationConfiguration")
end

#replication_configuration=(value) ⇒ Object



398
399
400
401
402
# File 'efs/cfn_file_system.rb', line 398

def replication_configuration=(value)
  value = value.is_a?(Hash) ? ::AWSCDK::EFS::CfnFileSystem::ReplicationConfigurationProperty.new(**value.transform_keys(&:to_sym)) : value
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lZnMuQ2ZuRmlsZVN5c3RlbS5SZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25Qcm9wZXJ0eSJ9XX19")), "replicationConfiguration") unless value.nil?
  jsii_set_property("replicationConfiguration", value)
end

#should_synthesizeBoolean

Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.

Returns:

  • (Boolean)

    true if the resource should be included or false is the resource should be omitted.



687
688
689
# File 'efs/cfn_file_system.rb', line 687

def should_synthesize()
  jsii_call_method("shouldSynthesize", [])
end

#stackAWSCDK::Stack

The stack in which this element is defined.

CfnElements must be defined within a stack scope (directly or indirectly).

Returns:



156
157
158
# File 'efs/cfn_file_system.rb', line 156

def stack()
  jsii_get_property("stack")
end

#tagsAWSCDK::TagManager

Tag Manager which manages the tags for this resource.

Returns:



252
253
254
# File 'efs/cfn_file_system.rb', line 252

def tags()
  jsii_get_property("tags")
end

#throughput_modeString?

Specifies the throughput mode for the file system.

Returns:

  • (String, nil)


407
408
409
# File 'efs/cfn_file_system.rb', line 407

def throughput_mode()
  jsii_get_property("throughputMode")
end

#throughput_mode=(value) ⇒ Object



411
412
413
414
# File 'efs/cfn_file_system.rb', line 411

def throughput_mode=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "throughputMode") unless value.nil?
  jsii_set_property("throughputMode", value)
end

#to_stringString

Returns a string representation of this construct.

Returns:

  • (String)

    a string representation of this resource



419
420
421
# File 'efs/cfn_file_system.rb', line 419

def to_string()
  jsii_call_method("toString", [])
end

#updated_properitesHash{String => Object}

Deprecated.

use updatedProperties Return properties modified after initiation Resources that expose mutable properties should override this function to collect and return the properties object for this resource.

Deprecated.

Returns:

  • (Hash{String => Object})


203
204
205
# File 'efs/cfn_file_system.rb', line 203

def updated_properites()
  jsii_get_property("updatedProperites")
end

#updated_propertiesHash{String => Object}

Return properties modified after initiation.

Resources that expose mutable properties should override this function to collect and return the properties object for this resource.

Returns:

  • (Hash{String => Object})


213
214
215
# File 'efs/cfn_file_system.rb', line 213

def updated_properties()
  jsii_get_property("updatedProperties")
end

#validate_properties(_properties) ⇒ void

This method returns an undefined value.

Parameters:

  • _properties (Object)


693
694
695
696
# File 'efs/cfn_file_system.rb', line 693

def validate_properties(_properties)
  Jsii::Type.check_type(_properties, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJhbnkifQ==")), "_properties")
  jsii_call_method("validateProperties", [_properties])
end

#with(*mixins) ⇒ Constructs::IConstruct

Applies one or more mixins to this construct.

Mixins are applied in order. The list of constructs is captured at the start of the call, so constructs added by a mixin will not be visited. Use multiple with() calls if subsequent mixins should apply to added constructs.

Parameters:

  • mixins (Array<Constructs::IMixin>)

Returns:

  • (Constructs::IConstruct)


432
433
434
435
436
437
# File 'efs/cfn_file_system.rb', line 432

def with(*mixins)
  mixins.each_with_index do |item, index|
    Jsii::Type.check_type(item, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJjb25zdHJ1Y3RzLklNaXhpbiJ9")), "mixins[#{index}]")
  end
  jsii_call_method("with", [*mixins])
end