Class: AWSCDK::Route53::SvcbRecordServiceModeProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
route53/svcb_record_service_mode_props.rb

Overview

Base properties of an SVCB ServiceMode record value.

Direct Known Subclasses

HttpsRecordServiceModeProps

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(alpn: nil, ipv4hint: nil, ipv6hint: nil, mandatory: nil, no_default_alpn: nil, port: nil, priority: nil, target_name: nil) ⇒ SvcbRecordServiceModeProps

Returns a new instance of SvcbRecordServiceModeProps.

Parameters:

  • alpn (Array<AWSCDK::Route53::Alpn>, nil) (defaults to: nil)

    Indicates the set of Application-Layer Protocol Negotiation (ALPN) protocol identifiers and associated transport protocols supported by this service endpoint.

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

    Conveys that clients may use to reach the service.

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

    Conveys that clients may use to reach the service.

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

    Indicates mandatory keys.

  • no_default_alpn (Boolean, nil) (defaults to: nil)

    Indicates no default ALPN protocol identifiers.

  • port (Numeric, nil) (defaults to: nil)

    The alternative port number.

  • priority (Numeric, nil) (defaults to: nil)

    The priority.

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

    The domain name of the alternative endpoint.



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'route53/svcb_record_service_mode_props.rb', line 15

def initialize(alpn: nil, ipv4hint: nil, ipv6hint: nil, mandatory: nil, no_default_alpn: nil, port: nil, priority: nil, target_name: nil)
  @alpn = alpn
  Jsii::Type.check_type(@alpn, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLmF3c19yb3V0ZTUzLkFscG4ifSwia2luZCI6ImFycmF5In19")), "alpn") unless @alpn.nil?
  @ipv4hint = ipv4hint
  Jsii::Type.check_type(@ipv4hint, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "ipv4hint") unless @ipv4hint.nil?
  @ipv6hint = ipv6hint
  Jsii::Type.check_type(@ipv6hint, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "ipv6hint") unless @ipv6hint.nil?
  @mandatory = mandatory
  Jsii::Type.check_type(@mandatory, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "mandatory") unless @mandatory.nil?
  @no_default_alpn = no_default_alpn
  Jsii::Type.check_type(@no_default_alpn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "noDefaultAlpn") unless @no_default_alpn.nil?
  @port = port
  Jsii::Type.check_type(@port, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "port") unless @port.nil?
  @priority = priority
  Jsii::Type.check_type(@priority, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "priority") unless @priority.nil?
  @target_name = target_name
  Jsii::Type.check_type(@target_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "targetName") unless @target_name.nil?
end

Instance Attribute Details

#alpnArray<AWSCDK::Route53::Alpn>? (readonly)

Note:

Default: - No ALPN protocol identifiers

Indicates the set of Application-Layer Protocol Negotiation (ALPN) protocol identifiers and associated transport protocols supported by this service endpoint.

Returns:



38
39
40
# File 'route53/svcb_record_service_mode_props.rb', line 38

def alpn
  @alpn
end

#ipv4hintArray<String>? (readonly)

Note:

Default: - No hints.

Conveys that clients may use to reach the service.

Returns:

  • (Array<String>, nil)


43
44
45
# File 'route53/svcb_record_service_mode_props.rb', line 43

def ipv4hint
  @ipv4hint
end

#ipv6hintArray<String>? (readonly)

Note:

Default: - No hints.

Conveys that clients may use to reach the service.

Returns:

  • (Array<String>, nil)


48
49
50
# File 'route53/svcb_record_service_mode_props.rb', line 48

def ipv6hint
  @ipv6hint
end

#mandatoryArray<String>? (readonly)

Note:

Default: - No mandatory keys

Indicates mandatory keys.

Returns:

  • (Array<String>, nil)


53
54
55
# File 'route53/svcb_record_service_mode_props.rb', line 53

def mandatory
  @mandatory
end

#no_default_alpnBoolean? (readonly)

Note:

Default: false

Indicates no default ALPN protocol identifiers.

The alpn parameter must be supplied together.

Returns:

  • (Boolean, nil)


60
61
62
# File 'route53/svcb_record_service_mode_props.rb', line 60

def no_default_alpn
  @no_default_alpn
end

#portNumeric? (readonly)

Note:

Default: - Use the default port

The alternative port number.

Returns:

  • (Numeric, nil)


65
66
67
# File 'route53/svcb_record_service_mode_props.rb', line 65

def port
  @port
end

#priorityNumeric? (readonly)

Note:

Default: 1

The priority.

Returns:

  • (Numeric, nil)


70
71
72
# File 'route53/svcb_record_service_mode_props.rb', line 70

def priority
  @priority
end

#target_nameString? (readonly)

Note:

Default: '.' - The record name of the record itself

The domain name of the alternative endpoint.

Returns:

  • (String, nil)


75
76
77
# File 'route53/svcb_record_service_mode_props.rb', line 75

def target_name
  @target_name
end

Class Method Details

.jsii_propertiesObject



77
78
79
80
81
82
83
84
85
86
87
88
# File 'route53/svcb_record_service_mode_props.rb', line 77

def self.jsii_properties
  {
    :alpn => "alpn",
    :ipv4hint => "ipv4hint",
    :ipv6hint => "ipv6hint",
    :mandatory => "mandatory",
    :no_default_alpn => "noDefaultAlpn",
    :port => "port",
    :priority => "priority",
    :target_name => "targetName",
  }
end

Instance Method Details

#to_jsiiObject



90
91
92
93
94
95
96
97
98
99
100
101
102
103
# File 'route53/svcb_record_service_mode_props.rb', line 90

def to_jsii
  result = {}
  result.merge!({
    "alpn" => @alpn,
    "ipv4hint" => @ipv4hint,
    "ipv6hint" => @ipv6hint,
    "mandatory" => @mandatory,
    "noDefaultAlpn" => @no_default_alpn,
    "port" => @port,
    "priority" => @priority,
    "targetName" => @target_name,
  })
  result.compact
end