AlternateTarget
- class aws_cdk.aws_ecs.AlternateTarget(id, *, alternate_target_group, production_listener, role=None, test_listener=None)
Bases:
object
Configuration for alternate target groups used in blue/green deployments with load balancers.
- ExampleMetadata:
infused
Example:
import aws_cdk.aws_lambda as lambda_ # cluster: ecs.Cluster # task_definition: ecs.TaskDefinition # lambda_hook: lambda.Function # blue_target_group: elbv2.ApplicationTargetGroup # green_target_group: elbv2.ApplicationTargetGroup # prod_listener_rule: elbv2.ApplicationListenerRule service = ecs.FargateService(self, "Service", cluster=cluster, task_definition=task_definition, deployment_strategy=ecs.DeploymentStrategy.BLUE_GREEN ) service.add_lifecycle_hook(ecs.DeploymentLifecycleLambdaTarget(lambda_hook, "PreScaleHook", lifecycle_stages=[ecs.DeploymentLifecycleStage.PRE_SCALE_UP] )) target = service.load_balancer_target( container_name="nginx", container_port=80, protocol=ecs.Protocol.TCP, alternate_target=ecs.AlternateTarget("AlternateTarget", alternate_target_group=green_target_group, production_listener=ecs.ListenerRuleConfiguration.application_listener_rule(prod_listener_rule) ) ) target.attach_to_application_target_group(blue_target_group)
- Parameters:
id (
str
)alternate_target_group (
ITargetGroup
) – The alternate target group.production_listener (
ListenerRuleConfiguration
) – The production listener rule ARN (ALB) or listener ARN (NLB).role (
Optional
[IRole
]) – The IAM role for the configuration. Default: - a new role will be createdtest_listener (
Optional
[ListenerRuleConfiguration
]) – The test listener configuration. Default: - none
Methods
- bind(scope)
Bind this configuration to a service.
- Parameters:
scope (
IConstruct
)- Return type: