Class: AWSCDK::Shield::CfnProtection
- Inherits:
-
CfnResource
- Object
- CfnResource
- AWSCDK::Shield::CfnProtection
- Includes:
- IInspectable, ITaggableV2, Interfaces::AWSShield::IProtectionRef
- Defined in:
- shield/cfn_protection.rb
Overview
Enables AWS Shield Advanced for a specific AWS resource.
The resource can be an Amazon CloudFront distribution, Amazon RouteĀ 53 hosted zone, AWS Global Accelerator standard accelerator, Elastic IP Address, Application Load Balancer, or a Classic Load Balancer. You can protect Amazon EC2 instances and Network Load Balancers by association with protected Amazon EC2 Elastic IP addresses.
Configure a single AWS::Shield::Protection
Use this protection to protect a single resource at a time.
To configure this Shield Advanced protection through CloudFormation , you must be subscribed to Shield Advanced . You can subscribe through the Shield Advanced console and through the APIs. For more information, see Subscribe to AWS Shield Advanced .
See example templates for Shield Advanced in CloudFormation at aws-samples/aws-shield-advanced-examples .
Configure Shield Advanced using AWS CloudFormation and AWS Firewall Manager
You might be able to use Firewall Manager with AWS CloudFormation to configure Shield Advanced across multiple accounts and protected resources. To do this, your accounts must be part of an organization in AWS Organizations . You can use Firewall Manager to configure Shield Advanced protections for any resource types except for Amazon RouteĀ 53 or AWS Global Accelerator .
For an example of this, see the one-click configuration guidance published by the AWS technical community at One-click deployment of Shield Advanced .
Configure multiple protections through the Shield Advanced console
You can add protection to multiple resources at once through the Shield Advanced console . For more information see Getting Started with AWS Shield Advanced and Managing resource protections in AWS Shield Advanced .
Class Method Summary collapse
- .arn_for_protection(resource) ⇒ String
-
.CFN_RESOURCE_TYPE_NAME ⇒ String
The CloudFormation resource type name for this resource class.
-
.is_cfn_protection(x) ⇒ Boolean
Checks whether the given object is a CfnProtection.
- .jsii_overridable_methods ⇒ Object
Instance Method Summary collapse
-
#add_deletion_override(path) ⇒ void
Syntactic sugar for
addOverride(path, undefined). -
#add_dependency(target) ⇒ void
Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
-
#add_depends_on(target) ⇒ void
deprecated
Deprecated.
use addDependency
-
#add_metadata(key, value) ⇒ void
Add a value to the CloudFormation Resource Metadata.
-
#add_override(path, value) ⇒ void
Adds an override to the synthesized CloudFormation resource.
-
#add_property_deletion_override(property_path) ⇒ void
Adds an override that deletes the value of a property from the resource definition.
-
#add_property_override(property_path, value) ⇒ void
Adds an override to a resource property.
-
#application_layer_automatic_response_configuration ⇒ AWSCDK::IResolvable, ...
The automatic application layer DDoS mitigation settings for the protection.
- #application_layer_automatic_response_configuration=(value) ⇒ Object
-
#apply_cross_stack_reference_strength(strength) ⇒ void
Sets the cross-stack reference strength for this resource.
-
#apply_removal_policy(policy = nil, options = nil) ⇒ void
Sets the deletion policy of the resource based on the removal policy specified.
-
#attr_protection_arn ⇒ String
The ARN (Amazon Resource Name) of the new protection.
-
#attr_protection_id ⇒ String
The ID of the new protection.
-
#cdk_tag_manager ⇒ AWSCDK::TagManager
Tag Manager which manages the tags for this resource.
-
#cfn_options ⇒ AWSCDK::ICfnResourceOptions
Options for this resource, such as condition, update policy etc.
- #cfn_properties ⇒ Hash{String => Object}
- #cfn_property_name(cdk_property_name) ⇒ String?
- #cfn_property_names ⇒ Hash{String => String}
-
#cfn_resource_type ⇒ String
AWS resource type.
- #creation_stack ⇒ Array<String>
- #env ⇒ AWSCDK::Interfaces::ResourceEnvironment
-
#get_att(attribute_name, type_hint = nil) ⇒ AWSCDK::Reference
Returns a token for an runtime attribute of this resource.
-
#get_metadata(key) ⇒ Object
Retrieve a value value from the CloudFormation Resource Metadata.
-
#health_check_arns ⇒ Array<String>?
The ARN (Amazon Resource Name) of the health check to associate with the protection.
- #health_check_arns=(value) ⇒ Object
-
#initialize(scope, id, props) ⇒ CfnProtection
constructor
Create a new
AWS::Shield::Protection. -
#inspect(inspector) ⇒ void
Examines the CloudFormation resource and discloses attributes.
-
#logical_id ⇒ String
The logical ID for this CloudFormation stack element.
-
#name ⇒ String
The name of the protection.
- #name=(value) ⇒ Object
-
#node ⇒ Constructs::Node
The tree node.
-
#obtain_dependencies ⇒ Array<AWSCDK::CfnResource, AWSCDK::Stack>
Retrieves an array of resources this resource depends on.
-
#obtain_resource_dependencies ⇒ Array<AWSCDK::CfnResource>
Get a shallow copy of dependencies between this resource and other resources in the same stack.
-
#override_logical_id(new_logical_id) ⇒ void
Overrides the auto-generated logical ID with a specific ID.
-
#protection_ref ⇒ AWSCDK::Interfaces::AWSShield::ProtectionReference
A reference to a Protection resource.
-
#ref ⇒ String
Return a string that will be resolved to a CloudFormation
{ Ref }for this element. -
#remove_dependency(target) ⇒ void
Indicates that this resource no longer depends on another resource.
- #render_properties(props) ⇒ Hash{String => Object}
-
#replace_dependency(target, new_target) ⇒ void
Replaces one dependency with another.
-
#resource_arn ⇒ String
The ARN (Amazon Resource Name) of the AWS resource that is protected.
- #resource_arn=(value) ⇒ Object
-
#should_synthesize ⇒ Boolean
Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
-
#stack ⇒ AWSCDK::Stack
The stack in which this element is defined.
-
#tags ⇒ Array<AWSCDK::CfnTag>?
Key:value pairs associated with an AWS resource.
- #tags=(value) ⇒ Object
-
#to_string ⇒ String
Returns a string representation of this construct.
-
#updated_properites ⇒ Hash{String => Object}
deprecated
Deprecated.
use
updatedPropertiesReturn properties modified after initiation Resources that expose mutable properties should override this function to collect and return the properties object for this resource. -
#updated_properties ⇒ Hash{String => Object}
Return properties modified after initiation.
- #validate_properties(_properties) ⇒ void
-
#with(*mixins) ⇒ Constructs::IConstruct
Applies one or more mixins to this construct.
Constructor Details
#initialize(scope, id, props) ⇒ CfnProtection
Create a new AWS::Shield::Protection.
38 39 40 41 42 43 44 |
# File 'shield/cfn_protection.rb', line 38 def initialize(scope, id, props) props = props.is_a?(Hash) ? ::AWSCDK::Shield::CfnProtectionProps.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("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfc2hpZWxkLkNmblByb3RlY3Rpb25Qcm9wcyJ9")), "props") Jsii::Object.instance_method(:initialize).bind(self).call(scope, id, props) end |
Class Method Details
.arn_for_protection(resource) ⇒ String
97 98 99 100 |
# File 'shield/cfn_protection.rb', line 97 def self.arn_for_protection(resource) Jsii::Type.check_type(resource, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5pbnRlcmZhY2VzLmF3c19zaGllbGQuSVByb3RlY3Rpb25SZWYifQ==")), "resource") Jsii::Kernel.instance.call_static("aws-cdk-lib.aws_shield.CfnProtection", "arnForProtection", [resource]) end |
.CFN_RESOURCE_TYPE_NAME ⇒ String
The CloudFormation resource type name for this resource class.
204 205 206 |
# File 'shield/cfn_protection.rb', line 204 def self.CFN_RESOURCE_TYPE_NAME() Jsii::Kernel.instance.get_static("aws-cdk-lib.aws_shield.CfnProtection", "CFN_RESOURCE_TYPE_NAME") end |
.is_cfn_protection(x) ⇒ Boolean
Checks whether the given object is a CfnProtection.
106 107 108 109 |
# File 'shield/cfn_protection.rb', line 106 def self.is_cfn_protection(x) Jsii::Type.check_type(x, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJhbnkifQ==")), "x") Jsii::Kernel.instance.call_static("aws-cdk-lib.aws_shield.CfnProtection", "isCfnProtection", [x]) end |
.jsii_overridable_methods ⇒ Object
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 84 85 86 87 88 89 90 91 92 93 |
# File 'shield/cfn_protection.rb', line 46 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_protection_arn => { kind: :property, name: "attrProtectionArn", is_optional: false }, :attr_protection_id => { kind: :property, name: "attrProtectionId", is_optional: false }, :cdk_tag_manager => { kind: :property, name: "cdkTagManager", is_optional: false }, :protection_ref => { kind: :property, name: "protectionRef", is_optional: false }, :name => { kind: :property, name: "name", is_optional: false }, :resource_arn => { kind: :property, name: "resourceArn", is_optional: false }, :application_layer_automatic_response_configuration => { kind: :property, name: "applicationLayerAutomaticResponseConfiguration", is_optional: true }, :health_check_arns => { kind: :property, name: "healthCheckArns", is_optional: true }, :tags => { kind: :property, name: "tags", 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).
336 337 338 339 |
# File 'shield/cfn_protection.rb', line 336 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.
348 349 350 351 |
# File 'shield/cfn_protection.rb', line 348 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
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.
358 359 360 361 |
# File 'shield/cfn_protection.rb', line 358 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.
369 370 371 372 373 |
# File 'shield/cfn_protection.rb', line 369 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.
426 427 428 429 430 |
# File 'shield/cfn_protection.rb', line 426 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.
436 437 438 439 |
# File 'shield/cfn_protection.rb', line 436 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).
448 449 450 451 452 |
# File 'shield/cfn_protection.rb', line 448 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 |
#application_layer_automatic_response_configuration ⇒ AWSCDK::IResolvable, ...
The automatic application layer DDoS mitigation settings for the protection.
265 266 267 |
# File 'shield/cfn_protection.rb', line 265 def application_layer_automatic_response_configuration() jsii_get_property("applicationLayerAutomaticResponseConfiguration") end |
#application_layer_automatic_response_configuration=(value) ⇒ Object
269 270 271 272 273 |
# File 'shield/cfn_protection.rb', line 269 def application_layer_automatic_response_configuration=(value) value = value.is_a?(Hash) ? ::AWSCDK::Shield::CfnProtection::ApplicationLayerAutomaticResponseConfigurationProperty.new(**value.transform_keys(&:to_sym)) : value Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zaGllbGQuQ2ZuUHJvdGVjdGlvbi5BcHBsaWNhdGlvbkxheWVyQXV0b21hdGljUmVzcG9uc2VDb25maWd1cmF0aW9uUHJvcGVydHkifV19fQ==")), "applicationLayerAutomaticResponseConfiguration") unless value.nil? jsii_set_property("applicationLayerAutomaticResponseConfiguration", 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.
461 462 463 464 |
# File 'shield/cfn_protection.rb', line 461 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:
483 484 485 486 487 488 |
# File 'shield/cfn_protection.rb', line 483 def apply_removal_policy(policy = nil, = nil) Jsii::Type.check_type(policy, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5SZW1vdmFsUG9saWN5In0=")), "policy") unless policy.nil? = .is_a?(Hash) ? ::AWSCDK::RemovalPolicyOptions.new(**.transform_keys(&:to_sym)) : Jsii::Type.check_type(, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5SZW1vdmFsUG9saWN5T3B0aW9ucyJ9")), "options") unless .nil? jsii_call_method("applyRemovalPolicy", [policy, ]) end |
#attr_protection_arn ⇒ String
The ARN (Amazon Resource Name) of the new protection.
211 212 213 |
# File 'shield/cfn_protection.rb', line 211 def attr_protection_arn() jsii_get_property("attrProtectionArn") end |
#attr_protection_id ⇒ String
The ID of the new protection.
218 219 220 |
# File 'shield/cfn_protection.rb', line 218 def attr_protection_id() jsii_get_property("attrProtectionId") end |
#cdk_tag_manager ⇒ AWSCDK::TagManager
Tag Manager which manages the tags for this resource.
225 226 227 |
# File 'shield/cfn_protection.rb', line 225 def cdk_tag_manager() jsii_get_property("cdkTagManager") end |
#cfn_options ⇒ AWSCDK::ICfnResourceOptions
Options for this resource, such as condition, update policy etc.
157 158 159 |
# File 'shield/cfn_protection.rb', line 157 def () jsii_get_property("cfnOptions") end |
#cfn_properties ⇒ Hash{String => Object}
162 163 164 |
# File 'shield/cfn_protection.rb', line 162 def cfn_properties() jsii_get_property("cfnProperties") end |
#cfn_property_name(cdk_property_name) ⇒ String?
492 493 494 495 |
# File 'shield/cfn_protection.rb', line 492 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_names ⇒ Hash{String => String}
167 168 169 |
# File 'shield/cfn_protection.rb', line 167 def cfn_property_names() jsii_get_property("cfnPropertyNames") end |
#cfn_resource_type ⇒ String
AWS resource type.
174 175 176 |
# File 'shield/cfn_protection.rb', line 174 def cfn_resource_type() jsii_get_property("cfnResourceType") end |
#creation_stack ⇒ Array<String>
119 120 121 |
# File 'shield/cfn_protection.rb', line 119 def creation_stack() jsii_get_property("creationStack") end |
#env ⇒ AWSCDK::Interfaces::ResourceEnvironment
179 180 181 |
# File 'shield/cfn_protection.rb', line 179 def env() jsii_get_property("env") 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.
505 506 507 508 509 |
# File 'shield/cfn_protection.rb', line 505 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.
516 517 518 519 |
# File 'shield/cfn_protection.rb', line 516 def (key) Jsii::Type.check_type(key, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "key") jsii_call_method("getMetadata", [key]) end |
#health_check_arns ⇒ Array<String>?
The ARN (Amazon Resource Name) of the health check to associate with the protection.
278 279 280 |
# File 'shield/cfn_protection.rb', line 278 def health_check_arns() jsii_get_property("healthCheckArns") end |
#health_check_arns=(value) ⇒ Object
282 283 284 285 |
# File 'shield/cfn_protection.rb', line 282 def health_check_arns=(value) Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "healthCheckArns") unless value.nil? jsii_set_property("healthCheckArns", value) end |
#inspect(inspector) ⇒ void
This method returns an undefined value.
Examines the CloudFormation resource and discloses attributes.
586 587 588 589 |
# File 'shield/cfn_protection.rb', line 586 def inspect(inspector) Jsii::Type.check_type(inspector, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5UcmVlSW5zcGVjdG9yIn0=")), "inspector") jsii_call_method("inspect", [inspector]) end |
#logical_id ⇒ String
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).
131 132 133 |
# File 'shield/cfn_protection.rb', line 131 def logical_id() jsii_get_property("logicalId") end |
#name ⇒ String
The name of the protection.
For example, My CloudFront distributions .
241 242 243 |
# File 'shield/cfn_protection.rb', line 241 def name() jsii_get_property("name") end |
#name=(value) ⇒ Object
245 246 247 248 |
# File 'shield/cfn_protection.rb', line 245 def name=(value) Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "name") jsii_set_property("name", value) end |
#node ⇒ Constructs::Node
The tree node.
114 115 116 |
# File 'shield/cfn_protection.rb', line 114 def node() jsii_get_property("node") end |
#obtain_dependencies ⇒ Array<AWSCDK::CfnResource, AWSCDK::Stack>
Retrieves an array of resources this resource depends on.
This assembles dependencies on resources across stacks (including nested stacks) automatically.
527 528 529 |
# File 'shield/cfn_protection.rb', line 527 def obtain_dependencies() jsii_call_method("obtainDependencies", []) end |
#obtain_resource_dependencies ⇒ Array<AWSCDK::CfnResource>
Get a shallow copy of dependencies between this resource and other resources in the same stack.
534 535 536 |
# File 'shield/cfn_protection.rb', line 534 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.
327 328 329 330 |
# File 'shield/cfn_protection.rb', line 327 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 |
#protection_ref ⇒ AWSCDK::Interfaces::AWSShield::ProtectionReference
A reference to a Protection resource.
232 233 234 |
# File 'shield/cfn_protection.rb', line 232 def protection_ref() jsii_get_property("protectionRef") end |
#ref ⇒ String
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 }).
150 151 152 |
# File 'shield/cfn_protection.rb', line 150 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.
545 546 547 548 |
# File 'shield/cfn_protection.rb', line 545 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}
552 553 554 555 |
# File 'shield/cfn_protection.rb', line 552 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.
562 563 564 565 566 |
# File 'shield/cfn_protection.rb', line 562 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 |
#resource_arn ⇒ String
The ARN (Amazon Resource Name) of the AWS resource that is protected.
253 254 255 |
# File 'shield/cfn_protection.rb', line 253 def resource_arn() jsii_get_property("resourceArn") end |
#resource_arn=(value) ⇒ Object
257 258 259 260 |
# File 'shield/cfn_protection.rb', line 257 def resource_arn=(value) Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "resourceArn") jsii_set_property("resourceArn", value) end |
#should_synthesize ⇒ Boolean
Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
571 572 573 |
# File 'shield/cfn_protection.rb', line 571 def should_synthesize() jsii_call_method("shouldSynthesize", []) end |
#stack ⇒ AWSCDK::Stack
The stack in which this element is defined.
CfnElements must be defined within a stack scope (directly or indirectly).
140 141 142 |
# File 'shield/cfn_protection.rb', line 140 def stack() jsii_get_property("stack") end |
#tags ⇒ Array<AWSCDK::CfnTag>?
Key:value pairs associated with an AWS resource.
290 291 292 |
# File 'shield/cfn_protection.rb', line 290 def () jsii_get_property("tags") end |
#tags=(value) ⇒ Object
294 295 296 297 298 |
# File 'shield/cfn_protection.rb', line 294 def (value) value = value.is_a?(Array) ? value.map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::CfnTag.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : value Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLkNmblRhZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "tags") unless value.nil? jsii_set_property("tags", value) end |
#to_string ⇒ String
Returns a string representation of this construct.
303 304 305 |
# File 'shield/cfn_protection.rb', line 303 def to_string() jsii_call_method("toString", []) end |
#updated_properites ⇒ Hash{String => Object}
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.
187 188 189 |
# File 'shield/cfn_protection.rb', line 187 def updated_properites() jsii_get_property("updatedProperites") end |
#updated_properties ⇒ Hash{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.
197 198 199 |
# File 'shield/cfn_protection.rb', line 197 def updated_properties() jsii_get_property("updatedProperties") end |
#validate_properties(_properties) ⇒ void
This method returns an undefined value.
577 578 579 580 |
# File 'shield/cfn_protection.rb', line 577 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.
316 317 318 319 320 321 |
# File 'shield/cfn_protection.rb', line 316 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 |