Class: AWSCDK::APIGateway::CfnDomainNameV2Props

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
api_gateway/cfn_domain_name_v2_props.rb

Overview

Properties for defining a CfnDomainNameV2.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(certificate_arn: nil, domain_name: nil, endpoint_access_mode: nil, endpoint_configuration: nil, policy: nil, routing_mode: nil, security_policy: nil, tags: nil) ⇒ CfnDomainNameV2Props

Returns a new instance of CfnDomainNameV2Props.

Parameters:

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

    The reference to an AWS -managed certificate that will be used by the private endpoint for this domain name.

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

    Represents a custom domain name as a user-friendly host name of an API (RestApi).

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

    The endpoint access mode for your DomainName.

  • endpoint_configuration (AWSCDK::IResolvable, AWSCDK::APIGateway::CfnDomainNameV2::EndpointConfigurationProperty, nil) (defaults to: nil)

    The endpoint configuration to indicate the types of endpoints an API (RestApi) or its custom domain name (DomainName) has and the IP address types that can invoke it.

  • policy (Object, nil) (defaults to: nil)

    A stringified JSON policy document that applies to the execute-api service for this DomainName regardless of the caller and Method configuration.

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

    The routing mode for this domain name.

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

    The Transport Layer Security (TLS) version + cipher suite for this DomainName.

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

    The collection of tags.



17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'api_gateway/cfn_domain_name_v2_props.rb', line 17

def initialize(certificate_arn: nil, domain_name: nil, endpoint_access_mode: nil, endpoint_configuration: nil, policy: nil, routing_mode: nil, security_policy: nil, tags: nil)
  @certificate_arn = certificate_arn
  Jsii::Type.check_type(@certificate_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "certificateArn") unless @certificate_arn.nil?
  @domain_name = domain_name
  Jsii::Type.check_type(@domain_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "domainName") unless @domain_name.nil?
  @endpoint_access_mode = endpoint_access_mode
  Jsii::Type.check_type(@endpoint_access_mode, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "endpointAccessMode") unless @endpoint_access_mode.nil?
  @endpoint_configuration = endpoint_configuration.is_a?(Hash) ? ::AWSCDK::APIGateway::CfnDomainNameV2::EndpointConfigurationProperty.new(**endpoint_configuration.transform_keys(&:to_sym)) : endpoint_configuration
  Jsii::Type.check_type(@endpoint_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19hcGlnYXRld2F5LkNmbkRvbWFpbk5hbWVWMi5FbmRwb2ludENvbmZpZ3VyYXRpb25Qcm9wZXJ0eSJ9XX19")), "endpointConfiguration") unless @endpoint_configuration.nil?
  @policy = policy
  Jsii::Type.check_type(@policy, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJhbnkifQ==")), "policy") unless @policy.nil?
  @routing_mode = routing_mode
  Jsii::Type.check_type(@routing_mode, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "routingMode") unless @routing_mode.nil?
  @security_policy = security_policy
  Jsii::Type.check_type(@security_policy, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "securityPolicy") unless @security_policy.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

#certificate_arnString? (readonly)

The reference to an AWS -managed certificate that will be used by the private endpoint for this domain name.

AWS Certificate Manager is the only supported source.



42
43
44
# File 'api_gateway/cfn_domain_name_v2_props.rb', line 42

def certificate_arn
  @certificate_arn
end

#domain_nameString? (readonly)

Represents a custom domain name as a user-friendly host name of an API (RestApi).



47
48
49
# File 'api_gateway/cfn_domain_name_v2_props.rb', line 47

def domain_name
  @domain_name
end

#endpoint_access_modeString? (readonly)

The endpoint access mode for your DomainName.



52
53
54
# File 'api_gateway/cfn_domain_name_v2_props.rb', line 52

def endpoint_access_mode
  @endpoint_access_mode
end

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

The endpoint configuration to indicate the types of endpoints an API (RestApi) or its custom domain name (DomainName) has and the IP address types that can invoke it.



57
58
59
# File 'api_gateway/cfn_domain_name_v2_props.rb', line 57

def endpoint_configuration
  @endpoint_configuration
end

#policyObject? (readonly)

A stringified JSON policy document that applies to the execute-api service for this DomainName regardless of the caller and Method configuration.

You can use Fn::ToJsonString to enter your policy . For more information, see Fn::ToJsonString .



64
65
66
# File 'api_gateway/cfn_domain_name_v2_props.rb', line 64

def policy
  @policy
end

#routing_modeString? (readonly)

Note:

Default: - "BASE_PATH_MAPPING_ONLY"

The routing mode for this domain name.

The routing mode determines how API Gateway sends traffic from your custom domain name to your private APIs.



72
73
74
# File 'api_gateway/cfn_domain_name_v2_props.rb', line 72

def routing_mode
  @routing_mode
end

#security_policyString? (readonly)

The Transport Layer Security (TLS) version + cipher suite for this DomainName.



77
78
79
# File 'api_gateway/cfn_domain_name_v2_props.rb', line 77

def security_policy
  @security_policy
end

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

The collection of tags.

Each tag element is associated with a given resource.



84
85
86
# File 'api_gateway/cfn_domain_name_v2_props.rb', line 84

def tags
  @tags
end

Class Method Details

.jsii_propertiesObject



86
87
88
89
90
91
92
93
94
95
96
97
# File 'api_gateway/cfn_domain_name_v2_props.rb', line 86

def self.jsii_properties
  {
    :certificate_arn => "certificateArn",
    :domain_name => "domainName",
    :endpoint_access_mode => "endpointAccessMode",
    :endpoint_configuration => "endpointConfiguration",
    :policy => "policy",
    :routing_mode => "routingMode",
    :security_policy => "securityPolicy",
    :tags => "tags",
  }
end

Instance Method Details

#to_jsiiObject



99
100
101
102
103
104
105
106
107
108
109
110
111
112
# File 'api_gateway/cfn_domain_name_v2_props.rb', line 99

def to_jsii
  result = {}
  result.merge!({
    "certificateArn" => @certificate_arn,
    "domainName" => @domain_name,
    "endpointAccessMode" => @endpoint_access_mode,
    "endpointConfiguration" => @endpoint_configuration,
    "policy" => @policy,
    "routingMode" => @routing_mode,
    "securityPolicy" => @security_policy,
    "tags" => @tags,
  })
  result.compact
end