【问题标题】:Azure DevOps - AWS CloudFormation and parametersAzure DevOps - AWS CloudFormation 和参数
【发布时间】:2022-01-28 13:50:44
【问题描述】:

我有一个简单的 CloudFomration 模板来创建 VPC:

vpc.yaml
---
Parameters:
  CidrBlock:
    Type: String
    Description: The primary IPv4 CIDR block for the VPC

Resources:
  VPC:
    Type: "AWS::EC2::VPC"
    Properties:
      CidrBlock: !Ref "CidrBlock"
      Tags:
      - Key: "Name"
        Value: "This is the main VPC"

在我的 Azure Devops 管道中,我想使用 AWS Stack create 通过使用此 CloudFormation 模板来创建 VPC。

Azure-pipeline.yaml
---
jobs:
- job: Job1
  steps:
  - task: CloudFormationCreateOrUpdateStack@1
    inputs:
      awsCredentials: 'My-cred'
      regionName: 'ap-southeast-2'
      stackName: 'Stack1'
      templateSource: 'file'
      templateFile: 'vpc.yaml'
      templateParametersSource: inline
      templateParameters: |
        - ParameterKey: CidrBlock
          ParameterValue: '10.10.10.0/24'

显然,当我在调用 vpc.yaml 模板时手动提供 CidrBlock 参数的值(如上 ^)时,它会正常工作。但我想做的是使用另一个文件来存储参数和值,并在运行 vpc 模板时传递它们。 换句话说,我有一个 params.yaml 文件,其中存储了运行 vpc.yaml 所需的参数。将 vpc.yaml 模板作为参数文件运行时如何使用它?

params.yaml
---
parameters:
- name: CidrBlock
  value: '10.10.10.0/24'

就像我在上面的 azure-pipeline 文件中引用模板文件一样,有没有类似的方法可以引用 params 文件而不是使用 templateParametersSource: inline em> ?

【问题讨论】:

  • 听起来我可以使用 templateParametersSource: 'file' 和 templateParametersFile: 'params.yaml'。所以现在当我运行我的管道时,它给了我以下错误:##[error]InvalidParameterType: Expected params.Parameters to be an Array。知道如何解决这个问题吗?

标签: azure-devops amazon-cloudformation


【解决方案1】:

使用 aws-cli 的 YAML 参数文件似乎存在问题:

https://github.com/aws/aws-cli/issues/2275

您可以使用 JSON 文件:

[
  {
    "CidrBlock": "10.10.10.0/24",
  }
]

【讨论】:

    【解决方案2】:

    听起来不像 Azure Bicep 或 ARM,您可以在创建参数文件时使用自己的密钥,AWS 需要一个特定的结构,您必须始终使用 ParameterKeyParameterValue 作为关键。 以下是我的 params 文件的外观:

    ---
    - ParameterKey: CidrBlock
      ParameterValue: '10.10.10.0/24'
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-01-05
      • 1970-01-01
      • 1970-01-01
      • 2019-08-31
      • 2017-03-04
      • 1970-01-01
      • 2021-04-27
      • 2021-03-17
      相关资源
      最近更新 更多