Class: AWSCDK::DMS::CfnInstanceProfileProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
dms/cfn_instance_profile_props.rb

Overview

Properties for defining a CfnInstanceProfile.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(availability_zone: nil, description: nil, instance_profile_identifier: nil, instance_profile_name: nil, kms_key_arn: nil, network_type: nil, publicly_accessible: nil, subnet_group_identifier: nil, tags: nil, vpc_security_groups: nil) ⇒ CfnInstanceProfileProps

Returns a new instance of CfnInstanceProfileProps.

Parameters:

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

    The Availability Zone where the instance profile runs.

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

    A description of the instance profile.

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

    The identifier of the instance profile.

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

    The user-friendly name for the instance profile.

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

    The Amazon Resource Name (ARN) of the AWS key that is used to encrypt the connection parameters for the instance profile.

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

    Specifies the network type for the instance profile.

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

    Specifies the accessibility options for the instance profile.

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

    The identifier of the subnet group that is associated with the instance profile.

  • tags (Array<AWSCDK::CfnTag>, nil) (defaults to: nil)

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

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

    The VPC security groups that are used with the instance profile.



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'dms/cfn_instance_profile_props.rb', line 19

def initialize(availability_zone: nil, description: nil, instance_profile_identifier: nil, instance_profile_name: nil, kms_key_arn: nil, network_type: nil, publicly_accessible: nil, subnet_group_identifier: nil, tags: nil, vpc_security_groups: nil)
  @availability_zone = availability_zone
  Jsii::Type.check_type(@availability_zone, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "availabilityZone") unless @availability_zone.nil?
  @description = description
  Jsii::Type.check_type(@description, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "description") unless @description.nil?
  @instance_profile_identifier = instance_profile_identifier
  Jsii::Type.check_type(@instance_profile_identifier, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "instanceProfileIdentifier") unless @instance_profile_identifier.nil?
  @instance_profile_name = instance_profile_name
  Jsii::Type.check_type(@instance_profile_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "instanceProfileName") unless @instance_profile_name.nil?
  @kms_key_arn = kms_key_arn
  Jsii::Type.check_type(@kms_key_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "kmsKeyArn") unless @kms_key_arn.nil?
  @network_type = network_type
  Jsii::Type.check_type(@network_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "networkType") unless @network_type.nil?
  @publicly_accessible = publicly_accessible
  Jsii::Type.check_type(@publicly_accessible, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "publiclyAccessible") unless @publicly_accessible.nil?
  @subnet_group_identifier = subnet_group_identifier
  Jsii::Type.check_type(@subnet_group_identifier, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "subnetGroupIdentifier") unless @subnet_group_identifier.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?
  @vpc_security_groups = vpc_security_groups
  Jsii::Type.check_type(@vpc_security_groups, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "vpcSecurityGroups") unless @vpc_security_groups.nil?
end

Instance Attribute Details

#availability_zoneString? (readonly)

The Availability Zone where the instance profile runs.



46
47
48
# File 'dms/cfn_instance_profile_props.rb', line 46

def availability_zone
  @availability_zone
end

#descriptionString? (readonly)

A description of the instance profile.

Descriptions can have up to 31 characters. A description can contain only ASCII letters, digits, and hyphens ('-'). Also, it can't end with a hyphen or contain two consecutive hyphens, and can only begin with a letter.



53
54
55
# File 'dms/cfn_instance_profile_props.rb', line 53

def description
  @description
end

#instance_profile_identifierString? (readonly)

The identifier of the instance profile.

Identifiers must begin with a letter and must contain only ASCII letters, digits, and hyphens. They can't end with a hyphen, or contain two consecutive hyphens.



60
61
62
# File 'dms/cfn_instance_profile_props.rb', line 60

def instance_profile_identifier
  @instance_profile_identifier
end

#instance_profile_nameString? (readonly)

The user-friendly name for the instance profile.



65
66
67
# File 'dms/cfn_instance_profile_props.rb', line 65

def instance_profile_name
  @instance_profile_name
end

#kms_key_arnString? (readonly)

The Amazon Resource Name (ARN) of the AWS key that is used to encrypt the connection parameters for the instance profile.

If you don't specify a value for the KmsKeyArn parameter, then AWS DMS uses an AWS owned encryption key to encrypt your resources.



72
73
74
# File 'dms/cfn_instance_profile_props.rb', line 72

def kms_key_arn
  @kms_key_arn
end

#network_typeString? (readonly)

Specifies the network type for the instance profile.

A value of IPV4 represents an instance profile with IPv4 network type and only supports IPv4 addressing. A value of IPV6 represents an instance profile with IPv6 network type and only supports IPv6 addressing. A value of DUAL represents an instance profile with dual network type that supports IPv4 and IPv6 addressing.



79
80
81
# File 'dms/cfn_instance_profile_props.rb', line 79

def network_type
  @network_type
end

#publicly_accessibleBoolean, ... (readonly)

Note:

Default: - false

Specifies the accessibility options for the instance profile.

A value of true represents an instance profile with a public IP address. A value of false represents an instance profile with a private IP address. The default value is true .



87
88
89
# File 'dms/cfn_instance_profile_props.rb', line 87

def publicly_accessible
  @publicly_accessible
end

#subnet_group_identifierString? (readonly)

The identifier of the subnet group that is associated with the instance profile.



92
93
94
# File 'dms/cfn_instance_profile_props.rb', line 92

def subnet_group_identifier
  @subnet_group_identifier
end

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

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



97
98
99
# File 'dms/cfn_instance_profile_props.rb', line 97

def tags
  @tags
end

#vpc_security_groupsArray<String>? (readonly)

The VPC security groups that are used with the instance profile.

The VPC security group must work with the VPC containing the instance profile.



104
105
106
# File 'dms/cfn_instance_profile_props.rb', line 104

def vpc_security_groups
  @vpc_security_groups
end

Class Method Details

.jsii_propertiesObject



106
107
108
109
110
111
112
113
114
115
116
117
118
119
# File 'dms/cfn_instance_profile_props.rb', line 106

def self.jsii_properties
  {
    :availability_zone => "availabilityZone",
    :description => "description",
    :instance_profile_identifier => "instanceProfileIdentifier",
    :instance_profile_name => "instanceProfileName",
    :kms_key_arn => "kmsKeyArn",
    :network_type => "networkType",
    :publicly_accessible => "publiclyAccessible",
    :subnet_group_identifier => "subnetGroupIdentifier",
    :tags => "tags",
    :vpc_security_groups => "vpcSecurityGroups",
  }
end

Instance Method Details

#to_jsiiObject



121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
# File 'dms/cfn_instance_profile_props.rb', line 121

def to_jsii
  result = {}
  result.merge!({
    "availabilityZone" => @availability_zone,
    "description" => @description,
    "instanceProfileIdentifier" => @instance_profile_identifier,
    "instanceProfileName" => @instance_profile_name,
    "kmsKeyArn" => @kms_key_arn,
    "networkType" => @network_type,
    "publiclyAccessible" => @publicly_accessible,
    "subnetGroupIdentifier" => @subnet_group_identifier,
    "tags" => @tags,
    "vpcSecurityGroups" => @vpc_security_groups,
  })
  result.compact
end