我需要在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)
AllowedPattern 是一个正则表达式,用于验证模式而不是预期类型。删除它,它应该可以工作。
我需要使用 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'
如果需要更多详细信息,请告诉我