CodeDeployEcsDeployAction

class aws_cdk.aws_codepipeline_actions.CodeDeployEcsDeployAction(*, deployment_group, app_spec_template_file=None, app_spec_template_input=None, container_image_inputs=None, task_definition_template_file=None, task_definition_template_input=None, role=None, action_name, run_order=None, variables_namespace=None)

Bases: Action

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_codedeploy as codedeploy
from aws_cdk import aws_codepipeline as codepipeline
from aws_cdk import aws_codepipeline_actions as codepipeline_actions
from aws_cdk import aws_iam as iam

# artifact: codepipeline.Artifact
# artifact_path: codepipeline.ArtifactPath
# ecs_deployment_group: codedeploy.EcsDeploymentGroup
# role: iam.Role

code_deploy_ecs_deploy_action = codepipeline_actions.CodeDeployEcsDeployAction(
    action_name="actionName",
    deployment_group=ecs_deployment_group,

    # the properties below are optional
    app_spec_template_file=artifact_path,
    app_spec_template_input=artifact,
    container_image_inputs=[codepipeline_actions.CodeDeployEcsContainerImageInput(
        input=artifact,

        # the properties below are optional
        task_definition_placeholder="taskDefinitionPlaceholder"
    )],
    role=role,
    run_order=123,
    task_definition_template_file=artifact_path,
    task_definition_template_input=artifact,
    variables_namespace="variablesNamespace"
)
Parameters:
  • deployment_group (IEcsDeploymentGroup) – The CodeDeploy ECS Deployment Group to deploy to.

  • app_spec_template_file (Optional[ArtifactPath]) – The name of the CodeDeploy AppSpec file. During deployment, a new task definition will be registered with ECS, and the new task definition ID will be inserted into the CodeDeploy AppSpec file. The AppSpec file contents will be provided to CodeDeploy for the deployment. Use this property if you want to use a different name for this file than the default ‘appspec.yaml’. If you use this property, you don’t need to specify the appSpecTemplateInput property. Default: - one of this property, or appSpecTemplateInput, is required

  • app_spec_template_input (Optional[Artifact]) – The artifact containing the CodeDeploy AppSpec file. During deployment, a new task definition will be registered with ECS, and the new task definition ID will be inserted into the CodeDeploy AppSpec file. The AppSpec file contents will be provided to CodeDeploy for the deployment. If you use this property, it’s assumed the file is called ‘appspec.yaml’. If your AppSpec file uses a different filename, leave this property empty, and use the appSpecTemplateFile property instead. Default: - one of this property, or appSpecTemplateFile, is required

  • container_image_inputs (Optional[Sequence[Union[CodeDeployEcsContainerImageInput, Dict[str, Any]]]]) – Configuration for dynamically updated images in the task definition. Provide pairs of an image details input artifact and a placeholder string that will be used to dynamically update the ECS task definition template file prior to deployment. A maximum of 4 images can be given.

  • task_definition_template_file (Optional[ArtifactPath]) – The name of the ECS task definition template file. During deployment, the task definition template file contents will be registered with ECS. Use this property if you want to use a different name for this file than the default ‘taskdef.json’. If you use this property, you don’t need to specify the taskDefinitionTemplateInput property. Default: - one of this property, or taskDefinitionTemplateInput, is required

  • task_definition_template_input (Optional[Artifact]) – The artifact containing the ECS task definition template file. During deployment, the task definition template file contents will be registered with ECS. If you use this property, it’s assumed the file is called ‘taskdef.json’. If your task definition template uses a different filename, leave this property empty, and use the taskDefinitionTemplateFile property instead. Default: - one of this property, or taskDefinitionTemplateFile, is required

  • role (Optional[IRole]) – The Role in which context’s this Action will be executing in. The Pipeline’s Role will assume this Role (the required permissions for that will be granted automatically) right before executing this Action. This Action will be passed into your IAction.bind method in the ActionBindOptions.role property. Default: a new Role will be generated

  • action_name (str) – The physical, human-readable name of the Action. Note that Action names must be unique within a single Stage.

  • run_order (Union[int, float, None]) – The runOrder property for this Action. RunOrder determines the relative order in which multiple Actions in the same Stage execute. Default: 1

  • variables_namespace (Optional[str]) – The name of the namespace to use for variables emitted by this action. Default: - a name will be generated, based on the stage and action names, if any of the action’s variables were referenced - otherwise, no namespace will be set

Methods

bind(scope, stage, *, bucket, role)

The callback invoked when this Action is added to a Pipeline.

Parameters:
Return type:

ActionConfig

on_state_change(name, target=None, *, enabled=None, event_bus=None, schedule=None, targets=None, cross_stack_scope=None, description=None, event_pattern=None, rule_name=None)

Creates an Event that will be triggered whenever the state of this Action changes.

Parameters:
  • name (str) –

  • target (Optional[IRuleTarget]) –

  • enabled (Optional[bool]) – Indicates whether the rule is enabled. Default: true

  • event_bus (Optional[IEventBus]) – The event bus to associate with this rule. Default: - The default event bus.

  • schedule (Optional[Schedule]) – The schedule or rate (frequency) that determines when EventBridge runs the rule. You must specify this property, the eventPattern property, or both. For more information, see Schedule Expression Syntax for Rules in the Amazon EventBridge User Guide. Default: - None.

  • targets (Optional[Sequence[IRuleTarget]]) – Targets to invoke when this rule matches an event. Input will be the full matched event. If you wish to specify custom target input, use addTarget(target[, inputOptions]). Default: - No targets.

  • cross_stack_scope (Optional[Construct]) – The scope to use if the source of the rule and its target are in different Stacks (but in the same account & region). This helps dealing with cycles that often arise in these situations. Default: - none (the main scope will be used, even for cross-stack Events)

  • description (Optional[str]) – A description of the rule’s purpose. Default: - No description

  • event_pattern (Union[EventPattern, Dict[str, Any], None]) – Additional restrictions for the event to route to the specified target. The method that generates the rule probably imposes some type of event filtering. The filtering implied by what you pass here is added on top of that filtering. Default: - No additional filtering based on an event pattern.

  • rule_name (Optional[str]) – A name for the rule. Default: AWS CloudFormation generates a unique physical ID.

Return type:

Rule

Attributes

action_properties

The simple properties of the Action, like its Owner, name, etc.

Note that this accessor will be called before the bind callback.