

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 使用创建 CodeArtifact 资源 AWS CloudFormation
<a name="cloudformation-codeartifact"></a>

CodeArtifact 与一项服务集成 AWS CloudFormation，该服务可帮助您对 AWS 资源进行建模和设置，从而减少创建和管理资源和基础架构所花费的时间。您可以创建一个描述所需所有 AWS 资源的模板，并 CloudFormation 负责为您配置和配置这些资源。

使用时 CloudFormation，您可以重复使用模板来一致且重复地设置 CodeArtifact 资源。只需描述一次您的资源，然后在多个账户和 AWS 区域中一遍又一遍地配置相同的资源即可。

## CodeArtifact 和 CloudFormation 模板
<a name="working-with-templates"></a>

要为和相关服务配置 CodeArtifact 和配置资源，必须了解[CloudFormation 模板](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-guide.html)。模板是 JSON 或 YAML 格式的文本文件。这些模板描述了您要在 CloudFormation 堆栈中配置的资源。如果你不熟悉 JSON 或 YAML，可以使用 D CloudFormation esigner 来帮助你开始使用 CloudFormation 模板。有关更多信息，请参阅[什么是 AWS D CloudFormation esigner？](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/working-with-templates-cfn-designer.html) 在《*AWS CloudFormation 用户指南》*中。

CodeArtifact 支持在中创建域、存储库和软件包组 CloudFormation。有关更多信息（包括 JSON 和 YAML 模板示例），请参阅《CloudFormation 用户指南》**中的以下主题：
+ [AWS::CodeArtifact:: 域名](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeartifact-domain.html)
+ [AWS::CodeArtifact:: 存储库](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeartifact-repository.html)
+ [AWS::CodeArtifact::PackageGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeartifact-packagegroup.html) 

## 防止删除 CodeArtifact 资源
<a name="preventing-deletion-cloudformation"></a>

CodeArtifact 存储库包含关键的应用程序依赖关系，如果丢失，可能不容易重新创建。要在使用管理 CodeArtifact 资源时防止 CodeArtifact 资源被意外删除 CloudFormation，请在所有域`DeletionPolicy`和存储库中加入值为的`Retain`和`UpdateReplacePolicy`属性。这样可以防止资源从堆栈模板中移除或意外删除整个堆栈时被删除。以下 YAML 片段显示了具有这些属性的基本域和存储库：

```
Resources:
    MyCodeArtifactDomain:
        Type: 'AWS::CodeArtifact::Domain'
        DeletionPolicy: Retain
        UpdateReplacePolicy: Retain
        Properties:
            DomainName: "my-domain"

    MyCodeArtifactRepository:
        Type: 'AWS::CodeArtifact::Repository'
        DeletionPolicy: Retain
        UpdateReplacePolicy: Retain
        Properties:
            RepositoryName: "my-repo"
            DomainName: !GetAtt MyCodeArtifactDomain.Name
```

有关这些属性的更多信息，请参阅*AWS CloudFormation 用户指南[UpdateReplacePolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-updatereplacepolicy.html)*中的[DeletionPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html)和。

## 了解更多关于 CloudFormation
<a name="learn-more-cloudformation"></a>

要了解更多信息 CloudFormation，请参阅以下资源：
+ [AWS CloudFormation](https://aws.amazon.com/cloudformation/)
+ [AWS CloudFormation 用户指南](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)
+ [AWS CloudFormation 命令行界面用户指南](https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/what-is-cloudformation-cli.html)