Class: AWSCDK::ElasticLoadBalancingv2::CfnListener::ActionProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
elastic_load_balancingv2/cfn_listener.rb

Overview

Specifies an action for a listener rule.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(type:, authenticate_cognito_config: nil, authenticate_oidc_config: nil, fixed_response_config: nil, forward_config: nil, jwt_validation_config: nil, order: nil, redirect_config: nil, target_group_arn: nil) ⇒ ActionProperty

Returns a new instance of ActionProperty.

Parameters:



622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
# File 'elastic_load_balancingv2/cfn_listener.rb', line 622

def initialize(type:, authenticate_cognito_config: nil, authenticate_oidc_config: nil, fixed_response_config: nil, forward_config: nil, jwt_validation_config: nil, order: nil, redirect_config: nil, target_group_arn: nil)
  @type = type
  Jsii::Type.check_type(@type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "type")
  @authenticate_cognito_config = authenticate_cognito_config.is_a?(Hash) ? ::AWSCDK::ElasticLoadBalancingv2::CfnListener::AuthenticateCognitoConfigProperty.new(**authenticate_cognito_config.transform_keys(&:to_sym)) : authenticate_cognito_config
  Jsii::Type.check_type(@authenticate_cognito_config, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lbGFzdGljbG9hZGJhbGFuY2luZ3YyLkNmbkxpc3RlbmVyLkF1dGhlbnRpY2F0ZUNvZ25pdG9Db25maWdQcm9wZXJ0eSJ9XX19")), "authenticateCognitoConfig") unless @authenticate_cognito_config.nil?
  @authenticate_oidc_config = authenticate_oidc_config.is_a?(Hash) ? ::AWSCDK::ElasticLoadBalancingv2::CfnListener::AuthenticateOidcConfigProperty.new(**authenticate_oidc_config.transform_keys(&:to_sym)) : authenticate_oidc_config
  Jsii::Type.check_type(@authenticate_oidc_config, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lbGFzdGljbG9hZGJhbGFuY2luZ3YyLkNmbkxpc3RlbmVyLkF1dGhlbnRpY2F0ZU9pZGNDb25maWdQcm9wZXJ0eSJ9XX19")), "authenticateOidcConfig") unless @authenticate_oidc_config.nil?
  @fixed_response_config = fixed_response_config.is_a?(Hash) ? ::AWSCDK::ElasticLoadBalancingv2::CfnListener::FixedResponseConfigProperty.new(**fixed_response_config.transform_keys(&:to_sym)) : fixed_response_config
  Jsii::Type.check_type(@fixed_response_config, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lbGFzdGljbG9hZGJhbGFuY2luZ3YyLkNmbkxpc3RlbmVyLkZpeGVkUmVzcG9uc2VDb25maWdQcm9wZXJ0eSJ9XX19")), "fixedResponseConfig") unless @fixed_response_config.nil?
  @forward_config = forward_config.is_a?(Hash) ? ::AWSCDK::ElasticLoadBalancingv2::CfnListener::ForwardConfigProperty.new(**forward_config.transform_keys(&:to_sym)) : forward_config
  Jsii::Type.check_type(@forward_config, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lbGFzdGljbG9hZGJhbGFuY2luZ3YyLkNmbkxpc3RlbmVyLkZvcndhcmRDb25maWdQcm9wZXJ0eSJ9XX19")), "forwardConfig") unless @forward_config.nil?
  @jwt_validation_config = jwt_validation_config.is_a?(Hash) ? ::AWSCDK::ElasticLoadBalancingv2::CfnListener::JwtValidationConfigProperty.new(**jwt_validation_config.transform_keys(&:to_sym)) : jwt_validation_config
  Jsii::Type.check_type(@jwt_validation_config, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lbGFzdGljbG9hZGJhbGFuY2luZ3YyLkNmbkxpc3RlbmVyLkp3dFZhbGlkYXRpb25Db25maWdQcm9wZXJ0eSJ9XX19")), "jwtValidationConfig") unless @jwt_validation_config.nil?
  @order = order
  Jsii::Type.check_type(@order, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "order") unless @order.nil?
  @redirect_config = redirect_config.is_a?(Hash) ? ::AWSCDK::ElasticLoadBalancingv2::CfnListener::RedirectConfigProperty.new(**redirect_config.transform_keys(&:to_sym)) : redirect_config
  Jsii::Type.check_type(@redirect_config, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lbGFzdGljbG9hZGJhbGFuY2luZ3YyLkNmbkxpc3RlbmVyLlJlZGlyZWN0Q29uZmlnUHJvcGVydHkifV19fQ==")), "redirectConfig") unless @redirect_config.nil?
  @target_group_arn = target_group_arn
  Jsii::Type.check_type(@target_group_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "targetGroupArn") unless @target_group_arn.nil?
end

Instance Attribute Details

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

[HTTPS listeners] Information for using Amazon Cognito to authenticate users.

Specify only when Type is authenticate-cognito .



654
655
656
# File 'elastic_load_balancingv2/cfn_listener.rb', line 654

def authenticate_cognito_config
  @authenticate_cognito_config
end

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

[HTTPS listeners] Information about an identity provider that is compliant with OpenID Connect (OIDC).

Specify only when Type is authenticate-oidc .



661
662
663
# File 'elastic_load_balancingv2/cfn_listener.rb', line 661

def authenticate_oidc_config
  @authenticate_oidc_config
end

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

[Application Load Balancer] Information for creating an action that returns a custom HTTP response.

Specify only when Type is fixed-response .



668
669
670
# File 'elastic_load_balancingv2/cfn_listener.rb', line 668

def fixed_response_config
  @fixed_response_config
end

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

Information for creating an action that distributes requests among multiple target groups. Specify only when Type is forward .

If you specify both ForwardConfig and TargetGroupArn , you can specify only one target group using ForwardConfig and it must be the same target group specified in TargetGroupArn .



675
676
677
# File 'elastic_load_balancingv2/cfn_listener.rb', line 675

def forward_config
  @forward_config
end

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

[HTTPS listeners] Information for validating JWT access tokens in client requests.

Specify only when Type is jwt-validation .



682
683
684
# File 'elastic_load_balancingv2/cfn_listener.rb', line 682

def jwt_validation_config
  @jwt_validation_config
end

#orderNumeric? (readonly)

The order for the action.

This value is required for rules with multiple actions. The action with the lowest value for order is performed first.



689
690
691
# File 'elastic_load_balancingv2/cfn_listener.rb', line 689

def order
  @order
end

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

[Application Load Balancer] Information for creating a redirect action.

Specify only when Type is redirect .



696
697
698
# File 'elastic_load_balancingv2/cfn_listener.rb', line 696

def redirect_config
  @redirect_config
end

#target_group_arnString? (readonly)

The Amazon Resource Name (ARN) of the target group.

Specify only when Type is forward and you want to route to a single target group. To route to multiple target groups, you must use ForwardConfig instead.



703
704
705
# File 'elastic_load_balancingv2/cfn_listener.rb', line 703

def target_group_arn
  @target_group_arn
end

#typeString (readonly)

The type of action.



647
648
649
# File 'elastic_load_balancingv2/cfn_listener.rb', line 647

def type
  @type
end

Class Method Details

.jsii_propertiesObject



705
706
707
708
709
710
711
712
713
714
715
716
717
# File 'elastic_load_balancingv2/cfn_listener.rb', line 705

def self.jsii_properties
  {
    :type => "type",
    :authenticate_cognito_config => "authenticateCognitoConfig",
    :authenticate_oidc_config => "authenticateOidcConfig",
    :fixed_response_config => "fixedResponseConfig",
    :forward_config => "forwardConfig",
    :jwt_validation_config => "jwtValidationConfig",
    :order => "order",
    :redirect_config => "redirectConfig",
    :target_group_arn => "targetGroupArn",
  }
end

Instance Method Details

#to_jsiiObject



719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
# File 'elastic_load_balancingv2/cfn_listener.rb', line 719

def to_jsii
  result = {}
  result.merge!({
    "type" => @type,
    "authenticateCognitoConfig" => @authenticate_cognito_config,
    "authenticateOidcConfig" => @authenticate_oidc_config,
    "fixedResponseConfig" => @fixed_response_config,
    "forwardConfig" => @forward_config,
    "jwtValidationConfig" => @jwt_validation_config,
    "order" => @order,
    "redirectConfig" => @redirect_config,
    "targetGroupArn" => @target_group_arn,
  })
  result.compact
end