Class: AWSCDK::IoT::CfnTopicRuleDestination::VPCDestinationPropertiesProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
io_t/cfn_topic_rule_destination.rb

Overview

The properties of a virtual private cloud (VPC) destination.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(role_arn: nil, security_groups: nil, subnet_ids: nil, vpc_id: nil) ⇒ VPCDestinationPropertiesProperty

Returns a new instance of VPCDestinationPropertiesProperty.

Parameters:

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

    The ARN of a role that has permission to create and attach to elastic network interfaces (ENIs).

  • security_groups (Array<String>, nil) (defaults to: nil)

    The security groups of the VPC destination.

  • subnet_ids (Array<String>, nil) (defaults to: nil)

    The subnet IDs of the VPC destination.

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

    The ID of the VPC.



579
580
581
582
583
584
585
586
587
588
# File 'io_t/cfn_topic_rule_destination.rb', line 579

def initialize(role_arn: nil, security_groups: nil, subnet_ids: nil, vpc_id: nil)
  @role_arn = role_arn
  Jsii::Type.check_type(@role_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "roleArn") unless @role_arn.nil?
  @security_groups = security_groups
  Jsii::Type.check_type(@security_groups, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "securityGroups") unless @security_groups.nil?
  @subnet_ids = subnet_ids
  Jsii::Type.check_type(@subnet_ids, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "subnetIds") unless @subnet_ids.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

#role_arnString? (readonly)

The ARN of a role that has permission to create and attach to elastic network interfaces (ENIs).



594
595
596
# File 'io_t/cfn_topic_rule_destination.rb', line 594

def role_arn
  @role_arn
end

#security_groupsArray<String>? (readonly)

The security groups of the VPC destination.



599
600
601
# File 'io_t/cfn_topic_rule_destination.rb', line 599

def security_groups
  @security_groups
end

#subnet_idsArray<String>? (readonly)

The subnet IDs of the VPC destination.



604
605
606
# File 'io_t/cfn_topic_rule_destination.rb', line 604

def subnet_ids
  @subnet_ids
end

#vpc_idString? (readonly)

The ID of the VPC.



609
610
611
# File 'io_t/cfn_topic_rule_destination.rb', line 609

def vpc_id
  @vpc_id
end

Class Method Details

.jsii_propertiesObject



611
612
613
614
615
616
617
618
# File 'io_t/cfn_topic_rule_destination.rb', line 611

def self.jsii_properties
  {
    :role_arn => "roleArn",
    :security_groups => "securityGroups",
    :subnet_ids => "subnetIds",
    :vpc_id => "vpcId",
  }
end

Instance Method Details

#to_jsiiObject



620
621
622
623
624
625
626
627
628
629
# File 'io_t/cfn_topic_rule_destination.rb', line 620

def to_jsii
  result = {}
  result.merge!({
    "roleArn" => @role_arn,
    "securityGroups" => @security_groups,
    "subnetIds" => @subnet_ids,
    "vpcId" => @vpc_id,
  })
  result.compact
end