Class: AWSCDK::ElasticLoadBalancingv2::CfnListenerRule::ActionProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
elastic_load_balancingv2/cfn_listener_rule.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:



572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
# File 'elastic_load_balancingv2/cfn_listener_rule.rb', line 572

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::CfnListenerRule::AuthenticateCognitoConfigProperty.new(**authenticate_cognito_config.transform_keys(&:to_sym)) : authenticate_cognito_config
  Jsii::Type.check_type(@authenticate_cognito_config, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lbGFzdGljbG9hZGJhbGFuY2luZ3YyLkNmbkxpc3RlbmVyUnVsZS5BdXRoZW50aWNhdGVDb2duaXRvQ29uZmlnUHJvcGVydHkifV19fQ==")), "authenticateCognitoConfig") unless @authenticate_cognito_config.nil?
  @authenticate_oidc_config = authenticate_oidc_config.is_a?(Hash) ? ::AWSCDK::ElasticLoadBalancingv2::CfnListenerRule::AuthenticateOidcConfigProperty.new(**authenticate_oidc_config.transform_keys(&:to_sym)) : authenticate_oidc_config
  Jsii::Type.check_type(@authenticate_oidc_config, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lbGFzdGljbG9hZGJhbGFuY2luZ3YyLkNmbkxpc3RlbmVyUnVsZS5BdXRoZW50aWNhdGVPaWRjQ29uZmlnUHJvcGVydHkifV19fQ==")), "authenticateOidcConfig") unless @authenticate_oidc_config.nil?
  @fixed_response_config = fixed_response_config.is_a?(Hash) ? ::AWSCDK::ElasticLoadBalancingv2::CfnListenerRule::FixedResponseConfigProperty.new(**fixed_response_config.transform_keys(&:to_sym)) : fixed_response_config
  Jsii::Type.check_type(@fixed_response_config, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lbGFzdGljbG9hZGJhbGFuY2luZ3YyLkNmbkxpc3RlbmVyUnVsZS5GaXhlZFJlc3BvbnNlQ29uZmlnUHJvcGVydHkifV19fQ==")), "fixedResponseConfig") unless @fixed_response_config.nil?
  @forward_config = forward_config.is_a?(Hash) ? ::AWSCDK::ElasticLoadBalancingv2::CfnListenerRule::ForwardConfigProperty.new(**forward_config.transform_keys(&:to_sym)) : forward_config
  Jsii::Type.check_type(@forward_config, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lbGFzdGljbG9hZGJhbGFuY2luZ3YyLkNmbkxpc3RlbmVyUnVsZS5Gb3J3YXJkQ29uZmlnUHJvcGVydHkifV19fQ==")), "forwardConfig") unless @forward_config.nil?
  @jwt_validation_config = jwt_validation_config.is_a?(Hash) ? ::AWSCDK::ElasticLoadBalancingv2::CfnListenerRule::JwtValidationConfigProperty.new(**jwt_validation_config.transform_keys(&:to_sym)) : jwt_validation_config
  Jsii::Type.check_type(@jwt_validation_config, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lbGFzdGljbG9hZGJhbGFuY2luZ3YyLkNmbkxpc3RlbmVyUnVsZS5Kd3RWYWxpZGF0aW9uQ29uZmlnUHJvcGVydHkifV19fQ==")), "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::CfnListenerRule::RedirectConfigProperty.new(**redirect_config.transform_keys(&:to_sym)) : redirect_config
  Jsii::Type.check_type(@redirect_config, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lbGFzdGljbG9hZGJhbGFuY2luZ3YyLkNmbkxpc3RlbmVyUnVsZS5SZWRpcmVjdENvbmZpZ1Byb3BlcnR5In1dfX0=")), "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 .



604
605
606
# File 'elastic_load_balancingv2/cfn_listener_rule.rb', line 604

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 .



611
612
613
# File 'elastic_load_balancingv2/cfn_listener_rule.rb', line 611

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 .



618
619
620
# File 'elastic_load_balancingv2/cfn_listener_rule.rb', line 618

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 .



625
626
627
# File 'elastic_load_balancingv2/cfn_listener_rule.rb', line 625

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 .



632
633
634
# File 'elastic_load_balancingv2/cfn_listener_rule.rb', line 632

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.



639
640
641
# File 'elastic_load_balancingv2/cfn_listener_rule.rb', line 639

def order
  @order
end

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

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

Specify only when Type is redirect .



646
647
648
# File 'elastic_load_balancingv2/cfn_listener_rule.rb', line 646

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.



653
654
655
# File 'elastic_load_balancingv2/cfn_listener_rule.rb', line 653

def target_group_arn
  @target_group_arn
end

#typeString (readonly)

The type of action.



597
598
599
# File 'elastic_load_balancingv2/cfn_listener_rule.rb', line 597

def type
  @type
end

Class Method Details

.jsii_propertiesObject



655
656
657
658
659
660
661
662
663
664
665
666
667
# File 'elastic_load_balancingv2/cfn_listener_rule.rb', line 655

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



669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
# File 'elastic_load_balancingv2/cfn_listener_rule.rb', line 669

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