Class: AWSCDK::CloudFront::CfnDistribution::OriginGroupProperty
- Inherits:
-
Jsii::Struct
- Object
- Jsii::Struct
- AWSCDK::CloudFront::CfnDistribution::OriginGroupProperty
- Defined in:
- cloud_front/cfn_distribution.rb
Overview
An origin group includes two origins (a primary origin and a secondary origin to failover to) and a failover criteria that you specify.
You create an origin group to support origin failover in CloudFront. When you create or update a distribution, you can specify the origin group instead of a single origin, and CloudFront will failover from the primary origin to the secondary origin under the failover conditions that you've chosen.
Optionally, you can choose selection criteria for your origin group to specify how your origins are selected when your distribution routes viewer requests.
Instance Attribute Summary collapse
-
#failover_criteria ⇒ AWSCDK::IResolvable, AWSCDK::CloudFront::CfnDistribution::OriginGroupFailoverCriteriaProperty
readonly
A complex type that contains information about the failover criteria for an origin group.
-
#id ⇒ String
readonly
The origin group's ID.
-
#members ⇒ AWSCDK::IResolvable, AWSCDK::CloudFront::CfnDistribution::OriginGroupMembersProperty
readonly
A complex type that contains information about the origins in an origin group.
-
#selection_criteria ⇒ String?
readonly
The selection criteria for the origin group.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(failover_criteria:, id:, members:, selection_criteria: nil) ⇒ OriginGroupProperty
constructor
A new instance of OriginGroupProperty.
- #to_jsii ⇒ Object
Constructor Details
#initialize(failover_criteria:, id:, members:, selection_criteria: nil) ⇒ OriginGroupProperty
Returns a new instance of OriginGroupProperty.
2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 |
# File 'cloud_front/cfn_distribution.rb', line 2660 def initialize(failover_criteria:, id:, members:, selection_criteria: nil) @failover_criteria = failover_criteria.is_a?(Hash) ? ::AWSCDK::CloudFront::CfnDistribution::OriginGroupFailoverCriteriaProperty.new(**failover_criteria.transform_keys(&:to_sym)) : failover_criteria Jsii::Type.check_type(@failover_criteria, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19jbG91ZGZyb250LkNmbkRpc3RyaWJ1dGlvbi5PcmlnaW5Hcm91cEZhaWxvdmVyQ3JpdGVyaWFQcm9wZXJ0eSJ9XX19")), "failoverCriteria") @id = id Jsii::Type.check_type(@id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "id") @members = members.is_a?(Hash) ? ::AWSCDK::CloudFront::CfnDistribution::OriginGroupMembersProperty.new(**members.transform_keys(&:to_sym)) : members Jsii::Type.check_type(@members, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19jbG91ZGZyb250LkNmbkRpc3RyaWJ1dGlvbi5PcmlnaW5Hcm91cE1lbWJlcnNQcm9wZXJ0eSJ9XX19")), "members") @selection_criteria = selection_criteria Jsii::Type.check_type(@selection_criteria, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "selectionCriteria") unless @selection_criteria.nil? end |
Instance Attribute Details
#failover_criteria ⇒ AWSCDK::IResolvable, AWSCDK::CloudFront::CfnDistribution::OriginGroupFailoverCriteriaProperty (readonly)
A complex type that contains information about the failover criteria for an origin group.
2675 2676 2677 |
# File 'cloud_front/cfn_distribution.rb', line 2675 def failover_criteria @failover_criteria end |
#id ⇒ String (readonly)
The origin group's ID.
2680 2681 2682 |
# File 'cloud_front/cfn_distribution.rb', line 2680 def id @id end |
#members ⇒ AWSCDK::IResolvable, AWSCDK::CloudFront::CfnDistribution::OriginGroupMembersProperty (readonly)
A complex type that contains information about the origins in an origin group.
2685 2686 2687 |
# File 'cloud_front/cfn_distribution.rb', line 2685 def members @members end |
#selection_criteria ⇒ String? (readonly)
The selection criteria for the origin group.
For more information, see Create an origin group in the Amazon CloudFront Developer Guide .
2692 2693 2694 |
# File 'cloud_front/cfn_distribution.rb', line 2692 def selection_criteria @selection_criteria end |
Class Method Details
.jsii_properties ⇒ Object
2694 2695 2696 2697 2698 2699 2700 2701 |
# File 'cloud_front/cfn_distribution.rb', line 2694 def self.jsii_properties { :failover_criteria => "failoverCriteria", :id => "id", :members => "members", :selection_criteria => "selectionCriteria", } end |
Instance Method Details
#to_jsii ⇒ Object
2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 |
# File 'cloud_front/cfn_distribution.rb', line 2703 def to_jsii result = {} result.merge!({ "failoverCriteria" => @failover_criteria, "id" => @id, "members" => @members, "selectionCriteria" => @selection_criteria, }) result.compact end |