Class: AWSCDK::CloudFront::CfnDistributionTenantProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
cloud_front/cfn_distribution_tenant_props.rb

Overview

Properties for defining a CfnDistributionTenant.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(distribution_id:, domains:, name:, connection_group_id: nil, customizations: nil, enabled: nil, managed_certificate_request: nil, parameters: nil, tags: nil) ⇒ CfnDistributionTenantProps

Returns a new instance of CfnDistributionTenantProps.

Parameters:



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'cloud_front/cfn_distribution_tenant_props.rb', line 18

def initialize(distribution_id:, domains:, name:, connection_group_id: nil, customizations: nil, enabled: nil, managed_certificate_request: nil, parameters: nil, tags: nil)
  @distribution_id = distribution_id
  Jsii::Type.check_type(@distribution_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "distributionId")
  @domains = domains
  Jsii::Type.check_type(@domains, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "domains")
  @name = name
  Jsii::Type.check_type(@name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "name")
  @connection_group_id = connection_group_id
  Jsii::Type.check_type(@connection_group_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "connectionGroupId") unless @connection_group_id.nil?
  @customizations = customizations.is_a?(Hash) ? ::AWSCDK::CloudFront::CfnDistributionTenant::CustomizationsProperty.new(**customizations.transform_keys(&:to_sym)) : customizations
  Jsii::Type.check_type(@customizations, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19jbG91ZGZyb250LkNmbkRpc3RyaWJ1dGlvblRlbmFudC5DdXN0b21pemF0aW9uc1Byb3BlcnR5In1dfX0=")), "customizations") unless @customizations.nil?
  @enabled = enabled
  Jsii::Type.check_type(@enabled, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "enabled") unless @enabled.nil?
  @managed_certificate_request = managed_certificate_request.is_a?(Hash) ? ::AWSCDK::CloudFront::CfnDistributionTenant::ManagedCertificateRequestProperty.new(**managed_certificate_request.transform_keys(&:to_sym)) : managed_certificate_request
  Jsii::Type.check_type(@managed_certificate_request, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19jbG91ZGZyb250LkNmbkRpc3RyaWJ1dGlvblRlbmFudC5NYW5hZ2VkQ2VydGlmaWNhdGVSZXF1ZXN0UHJvcGVydHkifV19fQ==")), "managedCertificateRequest") unless @managed_certificate_request.nil?
  @parameters = parameters
  Jsii::Type.check_type(@parameters, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfY2xvdWRmcm9udC5DZm5EaXN0cmlidXRpb25UZW5hbnQuUGFyYW1ldGVyUHJvcGVydHkifV19fSwia2luZCI6ImFycmF5In19XX19")), "parameters") unless @parameters.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

#connection_group_idString? (readonly)

The ID of the connection group for the distribution tenant.

If you don't specify a connection group, CloudFront uses the default connection group.



60
61
62
# File 'cloud_front/cfn_distribution_tenant_props.rb', line 60

def connection_group_id
  @connection_group_id
end

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

Customizations for the distribution tenant.

For each distribution tenant, you can specify the geographic restrictions, and the Amazon Resource Names (ARNs) for the ACM certificate and AWS WAF web ACL. These are specific values that you can override or disable from the multi-tenant distribution that was used to create the distribution tenant.



67
68
69
# File 'cloud_front/cfn_distribution_tenant_props.rb', line 67

def customizations
  @customizations
end

#distribution_idString (readonly)

The ID of the multi-tenant distribution.



43
44
45
# File 'cloud_front/cfn_distribution_tenant_props.rb', line 43

def distribution_id
  @distribution_id
end

#domainsArray<String> (readonly)

The domains associated with the distribution tenant.



48
49
50
# File 'cloud_front/cfn_distribution_tenant_props.rb', line 48

def domains
  @domains
end

#enabledBoolean, ... (readonly)

Indicates whether the distribution tenant is in an enabled state.

If disabled, the distribution tenant won't serve traffic.



74
75
76
# File 'cloud_front/cfn_distribution_tenant_props.rb', line 74

def enabled
  @enabled
end

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

An object that represents the request for the Amazon CloudFront managed ACM certificate.



79
80
81
# File 'cloud_front/cfn_distribution_tenant_props.rb', line 79

def managed_certificate_request
  @managed_certificate_request
end

#nameString (readonly)

The name of the distribution tenant.



53
54
55
# File 'cloud_front/cfn_distribution_tenant_props.rb', line 53

def name
  @name
end

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

A list of parameter values to add to the resource.

A parameter is specified as a key-value pair. A valid parameter value must exist for any parameter that is marked as required in the multi-tenant distribution.



86
87
88
# File 'cloud_front/cfn_distribution_tenant_props.rb', line 86

def parameters
  @parameters
end

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

A complex type that contains zero or more Tag elements.



91
92
93
# File 'cloud_front/cfn_distribution_tenant_props.rb', line 91

def tags
  @tags
end

Class Method Details

.jsii_propertiesObject



93
94
95
96
97
98
99
100
101
102
103
104
105
# File 'cloud_front/cfn_distribution_tenant_props.rb', line 93

def self.jsii_properties
  {
    :distribution_id => "distributionId",
    :domains => "domains",
    :name => "name",
    :connection_group_id => "connectionGroupId",
    :customizations => "customizations",
    :enabled => "enabled",
    :managed_certificate_request => "managedCertificateRequest",
    :parameters => "parameters",
    :tags => "tags",
  }
end

Instance Method Details

#to_jsiiObject



107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
# File 'cloud_front/cfn_distribution_tenant_props.rb', line 107

def to_jsii
  result = {}
  result.merge!({
    "distributionId" => @distribution_id,
    "domains" => @domains,
    "name" => @name,
    "connectionGroupId" => @connection_group_id,
    "customizations" => @customizations,
    "enabled" => @enabled,
    "managedCertificateRequest" => @managed_certificate_request,
    "parameters" => @parameters,
    "tags" => @tags,
  })
  result.compact
end