Ответ:
Невозможно создать ветку CodeCommit непосредственно в шаблоне CloudFormation, используя ресурс AWS::CodeCommit::Repository
И нет другого доступного ресурса для этого.
Почему
ИМХО: потому что CloudFormation является сервисом инфраструктуры как код. Поэтому работа с деталями того, что будет работать внутри инфраструктуры (или над ней), не должна быть частью самого кода инфраструктуры. Но это только моя точка зрения.
Возможная альтернатива:
Напишите лямбда-функцию в шаблоне облачной информации, она должна зависеть от ресурса репозитория AWS::CodeCommit::Repository
, чтобы вы могли использовать DependsOn
при определении вашей лямбда-функции и установить для нее CodeCommitRepository
, как показано ниже:
Resources:
CodeCommitRepository:
Type: AWS::CodeCommit::Repository
Properties:
RepositoryName: !Ref Message
LambdaForBranchCreation:
Type: AWS::Lambda::Function
DependsOn: CodeCommitRepository
Properties:
Code:
А затем используйте boto3 для создания ветки, используя этот вызов API. Надеюсь, это поможет!
Справка:
Справочник шаблонов CloudFormation перечисляет справочные шаблоны для всех возможных типов ресурсов и их свойства. Ресурс: AWS::CodeCommit::Repository
- это единственный тип ресурса, указанный в справочнике по типу ресурса CodeCommit 1034 *, и под этим ресурсом нет свойства