在 Cloudformation 的 SSM Parameter Store 中创建 JSON 值

问题描述 投票:0回答:3

我需要在Cloudformation中创建SSM参数存储来存储JSON

这是我的模板

Resources:
  WebServersSSM:
    Type: AWS::SSM::Parameter
    Properties: 
      AllowedPattern: String
      DataType: text
      Description: WebServers CloudWatch Agent Configuration
      Name: WebServersSSM
      Type: String
      Tier: Standard
      Value: |
        {
           ... My JSON File  
        }

我遇到错误

Parameter value, cannot be validated against allowedPattern: String (Service: AmazonSSM; Status Code: 400; Error Code: ParameterPatternMismatchException; Request ID: a7c2f063-9e63-4b4c-981b-c9ad05e56166; Proxy: null)
amazon-web-services aws-cloudformation amazon-cloudwatch aws-ssm
3个回答

0
投票
是的,如果您想在 Value 参数中存储 json,则必须删除 AllowedPattern


0
投票
我也有类似的问题,寻求您的帮助。

我需要使用 AWS 云形成模板通过 Gitlab CI/CD 管道部署 AWS 资源。

作为此要求的一部分,我需要将下面的 json 对象传递到 Gitlab CI/CD 变量 (ssmConfig) 中,并在创建时在 .gitlab-ci.yml 文件中的“parameter-overrides”标志中引用此 ci/cd 变量(sam deploy命令)AWS云形成堆栈。

json 对象:

{"Configurations":[{"Identifier":"tag:xyz","TagValue":"true","MetricName":"CPUUtilization","Threshold":5,"Namespace":"","Period":3600,"EvaluationPeriods":10,"AlarmActions":[],"StopInstance":false,"Statistic":"Maximum"},{"Identifier":"instanceId:i-0c12345676e123","MetricName":"GPU Usage","Threshold":5,"Namespace":"P-type Instance Monitor","Period":3600,"EvaluationPeriods":12,"AlarmActions":[],"StopInstance":false,"Statistic":"Maximum"}]}
.gitlab-ci.yml 中的堆栈创建示例模板:

deploy: stage: deploy environment: name: $CI_COMMIT_SLUG script: - | sam deploy --template ./ServiceTemplate-packaged.yaml --no-fail-on-empty-changeset $DONT_EXECUTE_CHANGE_SET --stack-name usage-Stack-$EnvType \ --parameter-overrides vpcEnvType=$vpc_env_type ssmConfig=$ssmConfig \ --capabilities CAPABILITY_NAMED_IAM
服务模板.yml:

AWSTemplateFormatVersion: '2010-09-09' Transform: AWS::Serverless-2016-10-31 Description: sample infra template Parameters: ssmConfig: Type: String Description: configuration details Resources: ---- ----
我在运行 Gitlab ci/cd 管道时收到以下错误消息。任何人都可以建议解决此问题的方法/解决方案吗?

Error: Invalid value for '--parameter-overrides': Usage","Threshold":5,"Namespace":"P-type is not in valid format. It must look something like 'ParameterKey=KeyPairName,ParameterValue=MyKey ParameterKey=InstanceType,ParameterValue=t1.micro' or 'KeyPairName=MyKey InstanceType=t1.micro'
如果需要更多详细信息,请告诉我

© www.soinside.com 2019 - 2024. All rights reserved.