Class: AWSCDK::Synthetics::CfnCanary::VPCConfigProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
synthetics/cfn_canary.rb

Overview

If this canary is to test an endpoint in a VPC, this structure contains information about the subnet and security groups of the VPC endpoint.

For more information, see Running a Canary in a VPC .

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(security_group_ids:, subnet_ids:, ipv6_allowed_for_dual_stack: nil, vpc_id: nil) ⇒ VPCConfigProperty

Returns a new instance of VPCConfigProperty.

Parameters:

  • security_group_ids (Array<String>)

    The IDs of the security groups for this canary.

  • subnet_ids (Array<String>)

    The IDs of the subnets where this canary is to run.

  • ipv6_allowed_for_dual_stack (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    Set this to true to allow outbound IPv6 traffic on VPC canaries that are connected to dual-stack subnets.

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

    The ID of the VPC where this canary is to run.



1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
# File 'synthetics/cfn_canary.rb', line 1335

def initialize(security_group_ids:, subnet_ids:, ipv6_allowed_for_dual_stack: nil, vpc_id: nil)
  @security_group_ids = security_group_ids
  Jsii::Type.check_type(@security_group_ids, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "securityGroupIds")
  @subnet_ids = subnet_ids
  Jsii::Type.check_type(@subnet_ids, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "subnetIds")
  @ipv6_allowed_for_dual_stack = ipv6_allowed_for_dual_stack
  Jsii::Type.check_type(@ipv6_allowed_for_dual_stack, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "ipv6AllowedForDualStack") unless @ipv6_allowed_for_dual_stack.nil?
  @vpc_id = vpc_id
  Jsii::Type.check_type(@vpc_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "vpcId") unless @vpc_id.nil?
end

Instance Attribute Details

#ipv6_allowed_for_dual_stackBoolean, ... (readonly)

Set this to true to allow outbound IPv6 traffic on VPC canaries that are connected to dual-stack subnets.

The default is false .



1362
1363
1364
# File 'synthetics/cfn_canary.rb', line 1362

def ipv6_allowed_for_dual_stack
  @ipv6_allowed_for_dual_stack
end

#security_group_idsArray<String> (readonly)

The IDs of the security groups for this canary.



1350
1351
1352
# File 'synthetics/cfn_canary.rb', line 1350

def security_group_ids
  @security_group_ids
end

#subnet_idsArray<String> (readonly)

The IDs of the subnets where this canary is to run.



1355
1356
1357
# File 'synthetics/cfn_canary.rb', line 1355

def subnet_ids
  @subnet_ids
end

#vpc_idString? (readonly)

The ID of the VPC where this canary is to run.



1367
1368
1369
# File 'synthetics/cfn_canary.rb', line 1367

def vpc_id
  @vpc_id
end

Class Method Details

.jsii_propertiesObject



1369
1370
1371
1372
1373
1374
1375
1376
# File 'synthetics/cfn_canary.rb', line 1369

def self.jsii_properties
  {
    :security_group_ids => "securityGroupIds",
    :subnet_ids => "subnetIds",
    :ipv6_allowed_for_dual_stack => "ipv6AllowedForDualStack",
    :vpc_id => "vpcId",
  }
end

Instance Method Details

#to_jsiiObject



1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
# File 'synthetics/cfn_canary.rb', line 1378

def to_jsii
  result = {}
  result.merge!({
    "securityGroupIds" => @security_group_ids,
    "subnetIds" => @subnet_ids,
    "ipv6AllowedForDualStack" => @ipv6_allowed_for_dual_stack,
    "vpcId" => @vpc_id,
  })
  result.compact
end