AWS CDK 自定义资源创建
AWS CDK Custom Resource Creation
我有一个 AWS YAML 格式的自定义资源,我想为其创建 AWS CDK 代码。我可以使用 AWS CDK CfnCustomResource 添加条件和 ServiceToken,但我无法添加属性。
YAML 模板
MyAmi:
Condition: UseGI
Properties:
ServiceToken:
Fn::ImportValue: !Join ['', [!If [ MyProd, '', 'qa-'], Prod-LookupAmiFunction]]
AMI: {Ref: AMI}
appId: {Ref: AppId}
envType: {Ref: EnvType}
osType: {Ref: OSType}
Type: Custom::MyAmi
正在运行的相应 AWS CDK 打字稿代码。
const MyAmi= new cfn.CfnCustomResource(this, 'MyAmi', {
serviceToken : "DSDS" # Just a random value but it is working
});MyAmi.cfnOptions.condition = UsemE
我想添加 YAML 模板的属性,我该怎么做。
我明白了。实际上,我应该使用 cdk.cfnResource 而不是 cfn.CfnCustomResource (这最有可能与 lambda 函数或 SNS 主题一起使用)。 cdk.cfnResource 将允许我定义任何自定义属性。
const MyAmi= new cdk.CfnResource(this, 'MyAmi', {
type : "Custom::MyAmi",
properties : {
ServiceToken : cdk.Fn.importValue(cdk.Fn.join('',[cdk.Fn.conditionIf('MyProd','','qa-').toString(),'Prod-LookupAmiFunction'])),
bizUnit: BizUnit,
AMI: AMI,
appId: AppId,
envType: EnvType
});LookupAmi.cfnOptions.condition = UsemE
我有一个 AWS YAML 格式的自定义资源,我想为其创建 AWS CDK 代码。我可以使用 AWS CDK CfnCustomResource 添加条件和 ServiceToken,但我无法添加属性。
YAML 模板
MyAmi:
Condition: UseGI
Properties:
ServiceToken:
Fn::ImportValue: !Join ['', [!If [ MyProd, '', 'qa-'], Prod-LookupAmiFunction]]
AMI: {Ref: AMI}
appId: {Ref: AppId}
envType: {Ref: EnvType}
osType: {Ref: OSType}
Type: Custom::MyAmi
正在运行的相应 AWS CDK 打字稿代码。
const MyAmi= new cfn.CfnCustomResource(this, 'MyAmi', {
serviceToken : "DSDS" # Just a random value but it is working
});MyAmi.cfnOptions.condition = UsemE
我想添加 YAML 模板的属性,我该怎么做。
我明白了。实际上,我应该使用 cdk.cfnResource 而不是 cfn.CfnCustomResource (这最有可能与 lambda 函数或 SNS 主题一起使用)。 cdk.cfnResource 将允许我定义任何自定义属性。
const MyAmi= new cdk.CfnResource(this, 'MyAmi', {
type : "Custom::MyAmi",
properties : {
ServiceToken : cdk.Fn.importValue(cdk.Fn.join('',[cdk.Fn.conditionIf('MyProd','','qa-').toString(),'Prod-LookupAmiFunction'])),
bizUnit: BizUnit,
AMI: AMI,
appId: AppId,
envType: EnvType
});LookupAmi.cfnOptions.condition = UsemE