我创建了如下所示的存储库,但是我想在创建时添加一个具有特定名称的分支。
Resources:
CodeCommitRepository:
Type: AWS::CodeCommit::Repository
Properties:
RepositoryName: !Ref Message
答案 0 :(得分:1)
答案:
不可能使用资源AWS::CodeCommit::Repository
在CloudFormation模板中直接创建CodeCommit分支,并且也没有其他资源可用于执行此操作。
为什么
恕我直言:因为CloudFormation是一种基础架构即代码服务。因此,处理基础架构内部(或其上)将要运行的内容的细节不应成为基础架构代码本身的一部分。但这只是我的观点。
可能的选择:
在cloudformation模板中编写Lambda函数,它应取决于存储库资源AWS::CodeCommit::Repository
,因此您可以在定义Lambda函数并将其设置为DependsOn
时使用CodeCommitRepository
,如下所示:
Resources:
CodeCommitRepository:
Type: AWS::CodeCommit::Repository
Properties:
RepositoryName: !Ref Message
LambdaForBranchCreation:
Type: AWS::Lambda::Function
DependsOn: CodeCommitRepository
Properties:
Code:
然后使用boto3通过this api调用创建分支。希望对您有帮助!
参考:
CloudFormation Template Reference列出了所有可能的资源类型及其属性的参考模板。资源:AWS::CodeCommit::Repository
是CodeCommit Resource Type Reference下列出的唯一资源类型,并且该资源下没有列出属性