Class: AWSCDK::EC2::CfnVerifiedAccessEndpointProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
ec2/cfn_verified_access_endpoint_props.rb

Overview

Properties for defining a CfnVerifiedAccessEndpoint.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(attachment_type:, endpoint_type:, verified_access_group_id:, application_domain: nil, cidr_options: nil, description: nil, domain_certificate_arn: nil, endpoint_domain_prefix: nil, load_balancer_options: nil, network_interface_options: nil, policy_document: nil, policy_enabled: nil, rds_options: nil, security_group_ids: nil, sse_specification: nil, tags: nil) ⇒ CfnVerifiedAccessEndpointProps

Returns a new instance of CfnVerifiedAccessEndpointProps.

Parameters:



25
26
27
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
# File 'ec2/cfn_verified_access_endpoint_props.rb', line 25

def initialize(attachment_type:, endpoint_type:, verified_access_group_id:, application_domain: nil, cidr_options: nil, description: nil, domain_certificate_arn: nil, endpoint_domain_prefix: nil, load_balancer_options: nil, network_interface_options: nil, policy_document: nil, policy_enabled: nil, rds_options: nil, security_group_ids: nil, sse_specification: nil, tags: nil)
  @attachment_type = attachment_type
  Jsii::Type.check_type(@attachment_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "attachmentType")
  @endpoint_type = endpoint_type
  Jsii::Type.check_type(@endpoint_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "endpointType")
  @verified_access_group_id = verified_access_group_id
  Jsii::Type.check_type(@verified_access_group_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "verifiedAccessGroupId")
  @application_domain = application_domain
  Jsii::Type.check_type(@application_domain, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "applicationDomain") unless @application_domain.nil?
  @cidr_options = cidr_options.is_a?(Hash) ? ::AWSCDK::EC2::CfnVerifiedAccessEndpoint::CIDROptionsProperty.new(**cidr_options.transform_keys(&:to_sym)) : cidr_options
  Jsii::Type.check_type(@cidr_options, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lYzIuQ2ZuVmVyaWZpZWRBY2Nlc3NFbmRwb2ludC5DaWRyT3B0aW9uc1Byb3BlcnR5In1dfX0=")), "cidrOptions") unless @cidr_options.nil?
  @description = description
  Jsii::Type.check_type(@description, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "description") unless @description.nil?
  @domain_certificate_arn = domain_certificate_arn
  Jsii::Type.check_type(@domain_certificate_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "domainCertificateArn") unless @domain_certificate_arn.nil?
  @endpoint_domain_prefix = endpoint_domain_prefix
  Jsii::Type.check_type(@endpoint_domain_prefix, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "endpointDomainPrefix") unless @endpoint_domain_prefix.nil?
  @load_balancer_options = load_balancer_options.is_a?(Hash) ? ::AWSCDK::EC2::CfnVerifiedAccessEndpoint::LoadBalancerOptionsProperty.new(**load_balancer_options.transform_keys(&:to_sym)) : load_balancer_options
  Jsii::Type.check_type(@load_balancer_options, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lYzIuQ2ZuVmVyaWZpZWRBY2Nlc3NFbmRwb2ludC5Mb2FkQmFsYW5jZXJPcHRpb25zUHJvcGVydHkifV19fQ==")), "loadBalancerOptions") unless @load_balancer_options.nil?
  @network_interface_options = network_interface_options.is_a?(Hash) ? ::AWSCDK::EC2::CfnVerifiedAccessEndpoint::NetworkInterfaceOptionsProperty.new(**network_interface_options.transform_keys(&:to_sym)) : network_interface_options
  Jsii::Type.check_type(@network_interface_options, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lYzIuQ2ZuVmVyaWZpZWRBY2Nlc3NFbmRwb2ludC5OZXR3b3JrSW50ZXJmYWNlT3B0aW9uc1Byb3BlcnR5In1dfX0=")), "networkInterfaceOptions") unless @network_interface_options.nil?
  @policy_document = policy_document
  Jsii::Type.check_type(@policy_document, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "policyDocument") unless @policy_document.nil?
  @policy_enabled = policy_enabled
  Jsii::Type.check_type(@policy_enabled, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "policyEnabled") unless @policy_enabled.nil?
  @rds_options = rds_options.is_a?(Hash) ? ::AWSCDK::EC2::CfnVerifiedAccessEndpoint::RDSOptionsProperty.new(**rds_options.transform_keys(&:to_sym)) : rds_options
  Jsii::Type.check_type(@rds_options, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lYzIuQ2ZuVmVyaWZpZWRBY2Nlc3NFbmRwb2ludC5SZHNPcHRpb25zUHJvcGVydHkifV19fQ==")), "rdsOptions") unless @rds_options.nil?
  @security_group_ids = security_group_ids
  Jsii::Type.check_type(@security_group_ids, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "securityGroupIds") unless @security_group_ids.nil?
  @sse_specification = sse_specification.is_a?(Hash) ? ::AWSCDK::EC2::CfnVerifiedAccessEndpoint::SseSpecificationProperty.new(**sse_specification.transform_keys(&:to_sym)) : sse_specification
  Jsii::Type.check_type(@sse_specification, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lYzIuQ2ZuVmVyaWZpZWRBY2Nlc3NFbmRwb2ludC5Tc2VTcGVjaWZpY2F0aW9uUHJvcGVydHkifV19fQ==")), "sseSpecification") unless @sse_specification.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?
end

Instance Attribute Details

#application_domainString? (readonly)

The DNS name for users to reach your application.



81
82
83
# File 'ec2/cfn_verified_access_endpoint_props.rb', line 81

def application_domain
  @application_domain
end

#attachment_typeString (readonly)

The type of attachment used to provide connectivity between the AWS Verified Access endpoint and the application.



64
65
66
# File 'ec2/cfn_verified_access_endpoint_props.rb', line 64

def attachment_type
  @attachment_type
end

#cidr_optionsAWSCDK::IResolvable, ... (readonly)

The options for a CIDR endpoint.



86
87
88
# File 'ec2/cfn_verified_access_endpoint_props.rb', line 86

def cidr_options
  @cidr_options
end

#descriptionString? (readonly)

A description for the AWS Verified Access endpoint.



91
92
93
# File 'ec2/cfn_verified_access_endpoint_props.rb', line 91

def description
  @description
end

#domain_certificate_arnString? (readonly)

The ARN of a public TLS/SSL certificate imported into or created with ACM.



96
97
98
# File 'ec2/cfn_verified_access_endpoint_props.rb', line 96

def domain_certificate_arn
  @domain_certificate_arn
end

#endpoint_domain_prefixString? (readonly)

A custom identifier that is prepended to the DNS name that is generated for the endpoint.



101
102
103
# File 'ec2/cfn_verified_access_endpoint_props.rb', line 101

def endpoint_domain_prefix
  @endpoint_domain_prefix
end

#endpoint_typeString (readonly)

The type of AWS Verified Access endpoint.

Incoming application requests will be sent to an IP address, load balancer or a network interface depending on the endpoint type specified.



71
72
73
# File 'ec2/cfn_verified_access_endpoint_props.rb', line 71

def endpoint_type
  @endpoint_type
end

#load_balancer_optionsAWSCDK::IResolvable, ... (readonly)

The load balancer details if creating the AWS Verified Access endpoint as load-balancer type.



106
107
108
# File 'ec2/cfn_verified_access_endpoint_props.rb', line 106

def load_balancer_options
  @load_balancer_options
end

#network_interface_optionsAWSCDK::IResolvable, ... (readonly)

The options for network-interface type endpoint.



111
112
113
# File 'ec2/cfn_verified_access_endpoint_props.rb', line 111

def network_interface_options
  @network_interface_options
end

#policy_documentString? (readonly)

The Verified Access policy document.



116
117
118
# File 'ec2/cfn_verified_access_endpoint_props.rb', line 116

def policy_document
  @policy_document
end

#policy_enabledBoolean, ... (readonly)

The status of the Verified Access policy.



121
122
123
# File 'ec2/cfn_verified_access_endpoint_props.rb', line 121

def policy_enabled
  @policy_enabled
end

#rds_optionsAWSCDK::IResolvable, ... (readonly)

The options for an RDS endpoint.



126
127
128
# File 'ec2/cfn_verified_access_endpoint_props.rb', line 126

def rds_options
  @rds_options
end

#security_group_idsArray<String>? (readonly)

The IDs of the security groups for the endpoint.



131
132
133
# File 'ec2/cfn_verified_access_endpoint_props.rb', line 131

def security_group_ids
  @security_group_ids
end

#sse_specificationAWSCDK::IResolvable, ... (readonly)

The options for additional server side encryption.



136
137
138
# File 'ec2/cfn_verified_access_endpoint_props.rb', line 136

def sse_specification
  @sse_specification
end

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

The tags.



141
142
143
# File 'ec2/cfn_verified_access_endpoint_props.rb', line 141

def tags
  @tags
end

#verified_access_group_idString (readonly)

The ID of the AWS Verified Access group.



76
77
78
# File 'ec2/cfn_verified_access_endpoint_props.rb', line 76

def verified_access_group_id
  @verified_access_group_id
end

Class Method Details

.jsii_propertiesObject



143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
# File 'ec2/cfn_verified_access_endpoint_props.rb', line 143

def self.jsii_properties
  {
    :attachment_type => "attachmentType",
    :endpoint_type => "endpointType",
    :verified_access_group_id => "verifiedAccessGroupId",
    :application_domain => "applicationDomain",
    :cidr_options => "cidrOptions",
    :description => "description",
    :domain_certificate_arn => "domainCertificateArn",
    :endpoint_domain_prefix => "endpointDomainPrefix",
    :load_balancer_options => "loadBalancerOptions",
    :network_interface_options => "networkInterfaceOptions",
    :policy_document => "policyDocument",
    :policy_enabled => "policyEnabled",
    :rds_options => "rdsOptions",
    :security_group_ids => "securityGroupIds",
    :sse_specification => "sseSpecification",
    :tags => "tags",
  }
end

Instance Method Details

#to_jsiiObject



164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
# File 'ec2/cfn_verified_access_endpoint_props.rb', line 164

def to_jsii
  result = {}
  result.merge!({
    "attachmentType" => @attachment_type,
    "endpointType" => @endpoint_type,
    "verifiedAccessGroupId" => @verified_access_group_id,
    "applicationDomain" => @application_domain,
    "cidrOptions" => @cidr_options,
    "description" => @description,
    "domainCertificateArn" => @domain_certificate_arn,
    "endpointDomainPrefix" => @endpoint_domain_prefix,
    "loadBalancerOptions" => @load_balancer_options,
    "networkInterfaceOptions" => @network_interface_options,
    "policyDocument" => @policy_document,
    "policyEnabled" => @policy_enabled,
    "rdsOptions" => @rds_options,
    "securityGroupIds" => @security_group_ids,
    "sseSpecification" => @sse_specification,
    "tags" => @tags,
  })
  result.compact
end