- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试连接从另一个 CF 脚本导出的值和参数存储中的参数。
我有两个 CF 脚本,其中 Script-A 输出如下值,
Purpose:
Value: !Ref Purpose
Description: Purpose
Export:
Name: !Sub '${AWS::StackName}-${CustomerName}-Purpose'
它还会创建一个包含客户名称的 SSM 参数。
在第二个脚本中,我想读取“目的”并将其作为值提供,同时创建另一个参数存储条目,
TestVar:
Type: AWS::SSM::Parameter
Properties:
Name: !Sub '/test-var'
Type: String
Value:
Fn::Sub:
- 'abc-'
- !ImportValue '${StackName}-'
- CustomerName:'{{resolve:ssm:CustomerName:1}}'
- '-Purpose'
但我不确定执行此操作的正确方法是什么。
我知道我可以导入 Parameter Store 值作为 CF 脚本上的参数,但尽量避免硬编码键。
最佳答案
使用 SSM 存储参数时需要注意的一些事项。每次更新该值时,版本号都会增加。目前,无法告诉 CFN 仅使用最新版本的 SSM 存储参数。在模板中使用这些内容时请记住这一点。
好的,首先,如果您尝试按照模板片段的方式执行此操作,则需要执行 !JOIN,而不是 !SUB,也就是说,如果我正在阅读您想要做的正确操作(需要更多信息,但无论如何我都会尝试一下)。
对于上面的内容,只需执行以下操作:
KeyName: !Join ['',['kp-','{{resolve:ssm:AccountShortName:1}}','-default']]
如果您尝试在脚本 block 中执行此操作,它看起来更像是:
"AWS::CloudFormation::Init":
configSets:
configuration:
- InitialSetup
init: # Initialize cfn
files:
'C:\cfn\scripts\SetupDefaults.json':
content: !Sub
- |
{
"StackName": "${AWS::StackName}",
"Region": "${AWS::Region}",
"Resource": "WinServer",
"directoryName": "${AccountShortName}.com",
"Joiner": "${AccountShortName}/ad/joiner"
}
- AccountShortName: '{{resolve:ssm:AccountShortName:1}}'
commands:
InitialSetup: # Initial Setup
files:
'C:\cfn\scripts\Initial-Setup.ps1':
source: !Join
- ''
- - 'https://s3-us-west-2.amazonaws.com/'
- '{{resolve:ssm:binaries-bucket:1}}'
- '/new_web/Initial-Setup.ps1'
authentication: S3AccessCreds
commands:
InitialSetup:
command: >-
powershell.exe -Command "C:\cfn\scripts\Initial-Setup.ps1"
waitAfterCompletion: 0
希望这能让事情变得更清楚。如果没有,请发布更多详细信息,我们也许可以挖掘更多信息来提供帮助。
谢谢!
关于amazon-web-services - 连接ImportValue和参数存储值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58601977/
我尝试从 CloudFormation 中创建的堆栈导出 DynamoDb StreamArn,然后使用 serverless.yml 中的 !ImportValue 引用导出。 但我收到此错误消息:
我确信我在这里遗漏了一些非常明显的东西,但是使用 GetAtt 和 ImportValue 在堆栈的父模板中获取输出值有什么区别>?是否有时间和地点只能使用其中之一?是否有一些地方它们可以互换,但由于
我在使用 CloudFormation 中的导出和导入功能时遇到问题。当我尝试导入实际上是列表(数组)的值时,我收到以下错误消息“与类型 {Array} 不匹配”。 vpc.yaml(片段) Priv
我有两个使用 CloudFormation 部署的项目(后台和前台)。 在前台,我从后台堆栈导入一些 DynamoDB 表名称作为 Lambda 的环境变量。 为了运行一些验收测试,我有时需要部署前台
我正在尝试使用 cloudformation yaml 文件在 aws 云中创建堆栈。 以下是我的第一个堆栈文件的片段。在“输出”部分中,我使用 Lambda 函数 Arn 的值创建导出变量。 Res
我有一个 SAM 模板,用于创建导出 API 端点的 API 网关 API: AWSTemplateFormatVersion : '2010-09-09' Transform: AWS::Serve
好的,事情就这样了。我在 CloudFormation 模板中遇到了困难。 我的模板,我有这样的东西: Parameters: SecurityGroupIds: Type: List Res
问题:我在自定义资源中的 cloudformation 内部函数中遇到了奇怪的问题。当我使用 !ImportValue 时,我的模板成功通过并部署,但如果我切换到使用 Fn::ImportValue
我在cloudformation中看到了一个关于云形成导入值函数的非常奇怪的问题。我正在尝试创建一个 cloudformation beanstalk 环境。在配置模板部分我有: configura
我们有一个巨大的 VPC CF 模板,用于定义我们的开发、暂存和生产环境。这些资源之一是通用 S3 存储桶,用于与特定客户不直接相关的任务。此存储桶有一个名为 VPCCommonBucket 的导出,
我正在尝试在 Cloudformation 中设置仪表板,并希望使用导出值使其动态:但它失败了: 仪表板正文无效,有 1 个验证错误:[ { "message": "无效的指标字段类型,仅允许\"St
我想在 CloudFormation YAML 中组合 3 个函数,但未能成功。 我有一个导出参数,我想访问foo-exportedParam然后我想导入它,但考虑到前缀 foo 是动态的并且来自模板
使用 YAML 作为资源定义在 JSON 策略 blob 中导入堆栈导出的正确方法是什么?: 我有以下输出/导出: Outputs: oParameterStoreAccessRoleArn:
我有一个堆栈,它依赖于在不同堆栈中导出的值(值为supertest) 我尝试按如下方式使用它 OriginAccessIdentity: !Join [ "", [ "origin-access-id
我有一个用于配置 VPC 的 cloudformation 脚本,并在“输出”部分中导出一些值 - 其中一个是区域 B AZ: Parameters: PublicAvailabilityZone
我尝试同时使用 join、sub 和 import value,但是当我尝试时,出现格式错误的模板错误。 这是我的代码部分: EventSourceMapping: Type: AWS::Lambd
问题:我有一个 cloudformation 模板,应该检索在 CodeCommit 中找到的代码并将其推送到 Lambda。 CodeCommit 中的代码还包含一个带有一些参数的 SAM 模板。
我有一个cloudformation模板,需要根据传入的参数导入一个值。下面是代码。但我无法将 !ImportValue 和 !Ref 结合起来。如何在 ImportValue 函数中使用 Envir
我的 CloudFormation 模板中有以下资源正在尝试创建监听器规则。我的想法是,根据传入的 EnvironmentType 和 AWS 区域,我想从导出监听器 ARN 的相应 CloudFor
我正在开发一个项目来解析 AWS Cloudformation Yaml 文件,以从 YAML 模板中提取所有 !ImportValue。 我正在尝试使用 ruamel.yaml 来解析它(我是新的)
我是一名优秀的程序员,十分优秀!