Class: AWSCDK::VPCLattice::CfnServiceProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
vpc_lattice/cfn_service_props.rb

Overview

Properties for defining a CfnService.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(auth_type: nil, certificate_arn: nil, custom_domain_name: nil, dns_entry: nil, name: nil, tags: nil) ⇒ CfnServiceProps

Returns a new instance of CfnServiceProps.

Parameters:

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

    The type of IAM policy.

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

    The Amazon Resource Name (ARN) of the certificate.

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

    The custom domain name of the service.

  • dns_entry (AWSCDK::IResolvable, AWSCDK::VPCLattice::CfnService::DNSEntryProperty, nil) (defaults to: nil)

    Describes the DNS information of the service.

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

    The name of the service.

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

    The tags for the service.



15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'vpc_lattice/cfn_service_props.rb', line 15

def initialize(auth_type: nil, certificate_arn: nil, custom_domain_name: nil, dns_entry: nil, name: nil, tags: nil)
  @auth_type = auth_type
  Jsii::Type.check_type(@auth_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "authType") unless @auth_type.nil?
  @certificate_arn = certificate_arn
  Jsii::Type.check_type(@certificate_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "certificateArn") unless @certificate_arn.nil?
  @custom_domain_name = custom_domain_name
  Jsii::Type.check_type(@custom_domain_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "customDomainName") unless @custom_domain_name.nil?
  @dns_entry = dns_entry.is_a?(Hash) ? ::AWSCDK::VPCLattice::CfnService::DNSEntryProperty.new(**dns_entry.transform_keys(&:to_sym)) : dns_entry
  Jsii::Type.check_type(@dns_entry, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c192cGNsYXR0aWNlLkNmblNlcnZpY2UuRG5zRW50cnlQcm9wZXJ0eSJ9XX19")), "dnsEntry") unless @dns_entry.nil?
  @name = name
  Jsii::Type.check_type(@name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "name") unless @name.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

#auth_typeString? (readonly)

Note:

Default: - "NONE"

The type of IAM policy.

  • NONE : The resource does not use an IAM policy. This is the default.
  • AWS_IAM : The resource uses an IAM policy. When this type is used, auth is enabled and an auth policy is required.


38
39
40
# File 'vpc_lattice/cfn_service_props.rb', line 38

def auth_type
  @auth_type
end

#certificate_arnString? (readonly)

The Amazon Resource Name (ARN) of the certificate.



43
44
45
# File 'vpc_lattice/cfn_service_props.rb', line 43

def certificate_arn
  @certificate_arn
end

#custom_domain_nameString? (readonly)

The custom domain name of the service.



48
49
50
# File 'vpc_lattice/cfn_service_props.rb', line 48

def custom_domain_name
  @custom_domain_name
end

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

Describes the DNS information of the service.

This field is read-only.



55
56
57
# File 'vpc_lattice/cfn_service_props.rb', line 55

def dns_entry
  @dns_entry
end

#nameString? (readonly)

The name of the service.

The name must be unique within the account. The valid characters are a-z, 0-9, and hyphens (-). You can't use a hyphen as the first or last character, or immediately after another hyphen.

If you don't specify a name, CloudFormation generates one. However, if you specify a name, and later want to replace the resource, you must specify a new name.



64
65
66
# File 'vpc_lattice/cfn_service_props.rb', line 64

def name
  @name
end

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

The tags for the service.



69
70
71
# File 'vpc_lattice/cfn_service_props.rb', line 69

def tags
  @tags
end

Class Method Details

.jsii_propertiesObject



71
72
73
74
75
76
77
78
79
80
# File 'vpc_lattice/cfn_service_props.rb', line 71

def self.jsii_properties
  {
    :auth_type => "authType",
    :certificate_arn => "certificateArn",
    :custom_domain_name => "customDomainName",
    :dns_entry => "dnsEntry",
    :name => "name",
    :tags => "tags",
  }
end

Instance Method Details

#to_jsiiObject



82
83
84
85
86
87
88
89
90
91
92
93
# File 'vpc_lattice/cfn_service_props.rb', line 82

def to_jsii
  result = {}
  result.merge!({
    "authType" => @auth_type,
    "certificateArn" => @certificate_arn,
    "customDomainName" => @custom_domain_name,
    "dnsEntry" => @dns_entry,
    "name" => @name,
    "tags" => @tags,
  })
  result.compact
end