CodeDeploy How to set dynamic Capacity Provider

0

We are deploying a set of containers into various accounts using CodePipeline and CodeDeploy. Each account has a different capacity provider name so our question is how can we set up the AppSpec.yaml file to dynamically change the Capacity Provider depending on the account? Is there an environment variable that CodeDeploy can leverage as it does the <TASK_DEFINITION> value?

version: 0.0
Resources:
  - TargetService:
      Type: AWS::ECS::Service
      Properties:
        TaskDefinition: <TASK_DEFINITION>
        LoadBalancerInfo:
          ContainerName: 'name-of-container'
          ContainerPort: 80
         CapacityProviderStrategy:
           - Base: 1
             CapacityProvider: "how-do-i-set-this-dynamically-based-on-account-or-environment"
             Weight: 1
asked a month ago161 views
1 Answer
0

Hello.

I don't think capacity providers have a placeholder like <TASK_DEFINITION>.
Therefore, I thought that a workaround would be to use something like CodeBuild to rewrite the capacity provider name in appspec.yml during the build phase.
https://docs.aws.amazon.com/codebuild/latest/userguide/welcome.html

profile picture
EXPERT
answered a month ago
profile picture
EXPERT
reviewed a month ago
  • Thank you. But adding it on the Build would require us to change all the existing capacity providers to have the same name. What we are trying to do is make it dynamic. But to your point, it may just not be possible.

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions