Class: AWSCDK::Route53Patterns::HttpsRedirectProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
route53_patterns/https_redirect_props.rb

Overview

Properties to configure an HTTPS Redirect.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(target_domain:, zone:, certificate: nil, record_names: nil) ⇒ HttpsRedirectProps

Returns a new instance of HttpsRedirectProps.

Parameters:

  • target_domain (String)

    The redirect target fully qualified domain name (FQDN).

  • zone (AWSCDK::Route53::IHostedZone)

    Hosted zone of the domain which will be used to create alias record(s) from domain names in the hosted zone to the target domain.

  • certificate (AWSCDK::Interfaces::AWSCertificatemanager::ICertificateRef, nil) (defaults to: nil)

    The AWS Certificate Manager (ACM) certificate that will be associated with the CloudFront distribution that will be created.

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

    The domain names that will redirect to targetDomain.



11
12
13
14
15
16
17
18
19
20
# File 'route53_patterns/https_redirect_props.rb', line 11

def initialize(target_domain:, zone:, certificate: nil, record_names: nil)
  @target_domain = target_domain
  Jsii::Type.check_type(@target_domain, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "targetDomain")
  @zone = zone
  Jsii::Type.check_type(@zone, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfcm91dGU1My5JSG9zdGVkWm9uZSJ9")), "zone")
  @certificate = certificate
  Jsii::Type.check_type(@certificate, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5pbnRlcmZhY2VzLmF3c19jZXJ0aWZpY2F0ZW1hbmFnZXIuSUNlcnRpZmljYXRlUmVmIn0=")), "certificate") unless @certificate.nil?
  @record_names = record_names
  Jsii::Type.check_type(@record_names, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "recordNames") unless @record_names.nil?
end

Instance Attribute Details

#certificateAWSCDK::Interfaces::AWSCertificatemanager::ICertificateRef? (readonly)

Note:

Default: - A new certificate is created in us-east-1 (N. Virginia)

The AWS Certificate Manager (ACM) certificate that will be associated with the CloudFront distribution that will be created.

If provided, the certificate must be stored in us-east-1 (N. Virginia)



48
49
50
# File 'route53_patterns/https_redirect_props.rb', line 48

def certificate
  @certificate
end

#record_namesArray<String>? (readonly)

Note:

Default: - the domain name of the hosted zone

The domain names that will redirect to targetDomain.

Returns:

  • (Array<String>, nil)


53
54
55
# File 'route53_patterns/https_redirect_props.rb', line 53

def record_names
  @record_names
end

#target_domainString (readonly)

The redirect target fully qualified domain name (FQDN).

An alias record will be created that points to your CloudFront distribution. Root domain or sub-domain can be supplied.

Returns:

  • (String)


29
30
31
# File 'route53_patterns/https_redirect_props.rb', line 29

def target_domain
  @target_domain
end

#zoneAWSCDK::Route53::IHostedZone (readonly)

Hosted zone of the domain which will be used to create alias record(s) from domain names in the hosted zone to the target domain.

The hosted zone must contain entries for the domain name(s) supplied through record_names that will redirect to the target domain.

Domain names in the hosted zone can include a specific domain (example.com) and its subdomains (acme.example.com, zenith.example.com).



40
41
42
# File 'route53_patterns/https_redirect_props.rb', line 40

def zone
  @zone
end

Class Method Details

.jsii_propertiesObject



55
56
57
58
59
60
61
62
# File 'route53_patterns/https_redirect_props.rb', line 55

def self.jsii_properties
  {
    :target_domain => "targetDomain",
    :zone => "zone",
    :certificate => "certificate",
    :record_names => "recordNames",
  }
end

Instance Method Details

#to_jsiiObject



64
65
66
67
68
69
70
71
72
73
# File 'route53_patterns/https_redirect_props.rb', line 64

def to_jsii
  result = {}
  result.merge!({
    "targetDomain" => @target_domain,
    "zone" => @zone,
    "certificate" => @certificate,
    "recordNames" => @record_names,
  })
  result.compact
end