Class: AWSCDK::IoT::CfnDomainConfigurationProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
io_t/cfn_domain_configuration_props.rb

Overview

Properties for defining a CfnDomainConfiguration.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(application_protocol: nil, authentication_type: nil, authorizer_config: nil, client_certificate_config: nil, domain_configuration_name: nil, domain_configuration_status: nil, domain_name: nil, server_certificate_arns: nil, server_certificate_config: nil, service_type: nil, tags: nil, tls_config: nil, validation_certificate_arn: nil) ⇒ CfnDomainConfigurationProps

Returns a new instance of CfnDomainConfigurationProps.

Parameters:

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

    An enumerated string that specifies the application-layer protocol.

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

    An enumerated string that specifies the authentication type.

  • authorizer_config (AWSCDK::IResolvable, AWSCDK::IoT::CfnDomainConfiguration::AuthorizerConfigProperty, nil) (defaults to: nil)

    An object that specifies the authorization service for a domain.

  • client_certificate_config (AWSCDK::IResolvable, AWSCDK::IoT::CfnDomainConfiguration::ClientCertificateConfigProperty, nil) (defaults to: nil)

    An object that specifies the client certificate configuration for a domain.

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

    The name of the domain configuration.

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

    The status to which the domain configuration should be updated.

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

    The name of the domain.

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

    The ARNs of the certificates that AWS IoT passes to the device during the TLS handshake.

  • server_certificate_config (AWSCDK::IResolvable, AWSCDK::IoT::CfnDomainConfiguration::ServerCertificateConfigProperty, nil) (defaults to: nil)

    The server certificate configuration.

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

    The type of service delivered by the endpoint.

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

    Metadata which can be used to manage the domain configuration.

  • tls_config (AWSCDK::IResolvable, AWSCDK::IoT::CfnDomainConfiguration::TLSConfigProperty, nil) (defaults to: nil)

    An object that specifies the TLS configuration for a domain.

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

    The certificate used to validate the server certificate and prove domain name ownership.



22
23
24
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
# File 'io_t/cfn_domain_configuration_props.rb', line 22

def initialize(application_protocol: nil, authentication_type: nil, authorizer_config: nil, client_certificate_config: nil, domain_configuration_name: nil, domain_configuration_status: nil, domain_name: nil, server_certificate_arns: nil, server_certificate_config: nil, service_type: nil, tags: nil, tls_config: nil, validation_certificate_arn: nil)
  @application_protocol = application_protocol
  Jsii::Type.check_type(@application_protocol, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "applicationProtocol") unless @application_protocol.nil?
  @authentication_type = authentication_type
  Jsii::Type.check_type(@authentication_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "authenticationType") unless @authentication_type.nil?
  @authorizer_config = authorizer_config.is_a?(Hash) ? ::AWSCDK::IoT::CfnDomainConfiguration::AuthorizerConfigProperty.new(**authorizer_config.transform_keys(&:to_sym)) : authorizer_config
  Jsii::Type.check_type(@authorizer_config, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19pb3QuQ2ZuRG9tYWluQ29uZmlndXJhdGlvbi5BdXRob3JpemVyQ29uZmlnUHJvcGVydHkifV19fQ==")), "authorizerConfig") unless @authorizer_config.nil?
  @client_certificate_config = client_certificate_config.is_a?(Hash) ? ::AWSCDK::IoT::CfnDomainConfiguration::ClientCertificateConfigProperty.new(**client_certificate_config.transform_keys(&:to_sym)) : client_certificate_config
  Jsii::Type.check_type(@client_certificate_config, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19pb3QuQ2ZuRG9tYWluQ29uZmlndXJhdGlvbi5DbGllbnRDZXJ0aWZpY2F0ZUNvbmZpZ1Byb3BlcnR5In1dfX0=")), "clientCertificateConfig") unless @client_certificate_config.nil?
  @domain_configuration_name = domain_configuration_name
  Jsii::Type.check_type(@domain_configuration_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "domainConfigurationName") unless @domain_configuration_name.nil?
  @domain_configuration_status = domain_configuration_status
  Jsii::Type.check_type(@domain_configuration_status, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "domainConfigurationStatus") unless @domain_configuration_status.nil?
  @domain_name = domain_name
  Jsii::Type.check_type(@domain_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "domainName") unless @domain_name.nil?
  @server_certificate_arns = server_certificate_arns
  Jsii::Type.check_type(@server_certificate_arns, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "serverCertificateArns") unless @server_certificate_arns.nil?
  @server_certificate_config = server_certificate_config.is_a?(Hash) ? ::AWSCDK::IoT::CfnDomainConfiguration::ServerCertificateConfigProperty.new(**server_certificate_config.transform_keys(&:to_sym)) : server_certificate_config
  Jsii::Type.check_type(@server_certificate_config, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19pb3QuQ2ZuRG9tYWluQ29uZmlndXJhdGlvbi5TZXJ2ZXJDZXJ0aWZpY2F0ZUNvbmZpZ1Byb3BlcnR5In1dfX0=")), "serverCertificateConfig") unless @server_certificate_config.nil?
  @service_type = service_type
  Jsii::Type.check_type(@service_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "serviceType") unless @service_type.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?
  @tls_config = tls_config.is_a?(Hash) ? ::AWSCDK::IoT::CfnDomainConfiguration::TLSConfigProperty.new(**tls_config.transform_keys(&:to_sym)) : tls_config
  Jsii::Type.check_type(@tls_config, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19pb3QuQ2ZuRG9tYWluQ29uZmlndXJhdGlvbi5UbHNDb25maWdQcm9wZXJ0eSJ9XX19")), "tlsConfig") unless @tls_config.nil?
  @validation_certificate_arn = validation_certificate_arn
  Jsii::Type.check_type(@validation_certificate_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "validationCertificateArn") unless @validation_certificate_arn.nil?
end

Instance Attribute Details

#application_protocolString? (readonly)

An enumerated string that specifies the application-layer protocol.



55
56
57
# File 'io_t/cfn_domain_configuration_props.rb', line 55

def application_protocol
  @application_protocol
end

#authentication_typeString? (readonly)

An enumerated string that specifies the authentication type.



60
61
62
# File 'io_t/cfn_domain_configuration_props.rb', line 60

def authentication_type
  @authentication_type
end

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

An object that specifies the authorization service for a domain.



65
66
67
# File 'io_t/cfn_domain_configuration_props.rb', line 65

def authorizer_config
  @authorizer_config
end

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

An object that specifies the client certificate configuration for a domain.



70
71
72
# File 'io_t/cfn_domain_configuration_props.rb', line 70

def client_certificate_config
  @client_certificate_config
end

#domain_configuration_nameString? (readonly)

The name of the domain configuration.

This value must be unique to a region.



77
78
79
# File 'io_t/cfn_domain_configuration_props.rb', line 77

def domain_configuration_name
  @domain_configuration_name
end

#domain_configuration_statusString? (readonly)

The status to which the domain configuration should be updated.

Valid values: ENABLED | DISABLED



84
85
86
# File 'io_t/cfn_domain_configuration_props.rb', line 84

def domain_configuration_status
  @domain_configuration_status
end

#domain_nameString? (readonly)

The name of the domain.



89
90
91
# File 'io_t/cfn_domain_configuration_props.rb', line 89

def domain_name
  @domain_name
end

#server_certificate_arnsArray<String>? (readonly)

The ARNs of the certificates that AWS IoT passes to the device during the TLS handshake.

Currently you can specify only one certificate ARN. This value is not required for AWS -managed domains.



96
97
98
# File 'io_t/cfn_domain_configuration_props.rb', line 96

def server_certificate_arns
  @server_certificate_arns
end

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

The server certificate configuration.

For more information, see Configurable endpoints from the AWS IoT Core Developer Guide.



103
104
105
# File 'io_t/cfn_domain_configuration_props.rb', line 103

def server_certificate_config
  @server_certificate_config
end

#service_typeString? (readonly)

The type of service delivered by the endpoint.

AWS IoT Core currently supports only the DATA service type.



110
111
112
# File 'io_t/cfn_domain_configuration_props.rb', line 110

def service_type
  @service_type
end

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

Metadata which can be used to manage the domain configuration.

For URI Request parameters use format: ...key1=value1&key2=value2...

For the CLI command-line parameter use format: &&tags "key1=value1&key2=value2..."

For the cli-input-json file use format: "tags": "key1=value1&key2=value2..."



121
122
123
# File 'io_t/cfn_domain_configuration_props.rb', line 121

def tags
  @tags
end

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

An object that specifies the TLS configuration for a domain.



126
127
128
# File 'io_t/cfn_domain_configuration_props.rb', line 126

def tls_config
  @tls_config
end

#validation_certificate_arnString? (readonly)

The certificate used to validate the server certificate and prove domain name ownership.

This certificate must be signed by a public certificate authority. This value is not required for AWS -managed domains.



133
134
135
# File 'io_t/cfn_domain_configuration_props.rb', line 133

def validation_certificate_arn
  @validation_certificate_arn
end

Class Method Details

.jsii_propertiesObject



135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
# File 'io_t/cfn_domain_configuration_props.rb', line 135

def self.jsii_properties
  {
    :application_protocol => "applicationProtocol",
    :authentication_type => "authenticationType",
    :authorizer_config => "authorizerConfig",
    :client_certificate_config => "clientCertificateConfig",
    :domain_configuration_name => "domainConfigurationName",
    :domain_configuration_status => "domainConfigurationStatus",
    :domain_name => "domainName",
    :server_certificate_arns => "serverCertificateArns",
    :server_certificate_config => "serverCertificateConfig",
    :service_type => "serviceType",
    :tags => "tags",
    :tls_config => "tlsConfig",
    :validation_certificate_arn => "validationCertificateArn",
  }
end

Instance Method Details

#to_jsiiObject



153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
# File 'io_t/cfn_domain_configuration_props.rb', line 153

def to_jsii
  result = {}
  result.merge!({
    "applicationProtocol" => @application_protocol,
    "authenticationType" => @authentication_type,
    "authorizerConfig" => @authorizer_config,
    "clientCertificateConfig" => @client_certificate_config,
    "domainConfigurationName" => @domain_configuration_name,
    "domainConfigurationStatus" => @domain_configuration_status,
    "domainName" => @domain_name,
    "serverCertificateArns" => @server_certificate_arns,
    "serverCertificateConfig" => @server_certificate_config,
    "serviceType" => @service_type,
    "tags" => @tags,
    "tlsConfig" => @tls_config,
    "validationCertificateArn" => @validation_certificate_arn,
  })
  result.compact
end