

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# リポジトリを削除する
<a name="delete-repo"></a>

CodeArtifact コンソールまたは AWS CLIを使用してリポジトリを削除できます。リポジトリを削除すると、そのリポジトリにパッケージをプッシュしたり、そこからパッケージをプルしたりすることはできなくなります。リポジトリ内のすべてのパッケージは永続的に使用できなくなり、復元できなくなります。同じ名前のリポジトリを作成できますが、その内容は空になります。

**重要**  
リポジトリを削除したら、元に戻すことはできません。リポジトリの削除後は、そのリポジトリを復元できなくなります。

**Topics**
+ [リポジトリを削除する (コンソール)](#delete-repo-console)
+ [リポジトリを削除する (AWS CLI)](#delete-repo-cli)
+ [リポジトリが削除されないように保護する](#delete-repo-protect)

## リポジトリを削除する (コンソール)
<a name="delete-repo-console"></a>

1. [https://console.aws.amazon.com/codesuite/codeartifact/home](https://console.aws.amazon.com/codesuite/codeartifact/home) で AWS CodeArtifact コンソールを開きます。

1.  ナビゲーションペインで **[リポジトリ]** を選択し、その後、削除するリポジトリを選択します。

1.  **[削除]** を選択し、次に、ステップに従ってドメインを削除します。

## リポジトリを削除する (AWS CLI)
<a name="delete-repo-cli"></a>

`delete-repository` コマンドを使用してリポジトリを削除します。

```
aws codeartifact delete-repository --domain {{my_domain}} --domain-owner {{111122223333}} --repository {{my_repo}}
```

出力の例:

```
{
    "repository": {
        "name": "{{my_repo}}",
        "administratorAccount": "{{123456789012}}",
        "domainName": "{{my_domain}}",            
        "domainOwner": "{{123456789012}}",
        "arn": "arn:aws:codeartifact:{{region-id}}:{{123456789012}}:repository/{{my_domain}}/{{my_repo}}",
        "description": "{{My new repository}}",
        "upstreams": [],
        "externalConnections": []
    }
}
```

## リポジトリが削除されないように保護する
<a name="delete-repo-protect"></a>

次のようなドメインポリシーを含めることで、リポジトリが誤って削除されるのを防げます。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "DenyRepositoryDeletion",
            "Action": [
                "codeartifact:DeleteRepository"
            ],
            "Effect": "Deny",
            "Resource": "*",
            "Principal": "*"
        }
    ]
}
```

------

このポリシーにより、すべてのプリンシパルがリポジトリを削除できなくなりますが、後からリポジトリを削除する必要があると判断した場合は、以下の手順で削除できます。

1.  ドメインポリシーで、次のようにポリシーを更新します。

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "DenyRepositoryDeletion",
               "Action": [
                   "codeartifact:DeleteRepository"
               ],
               "Effect": "Deny",
               "NotResource": "{{arn:aws:iam::*:role/Service*}}",
               "Principal": "*"
           }
       ]
   }
   ```

------

   {{repository-arn}} は、削除するリポジトリの ARN に置き換えてください。

1.  AWS CodeArtifact コンソールで、**リポジトリ**を選択し、選択したリポジトリを削除します。

1.  リポジトリを削除したら、誤削除を防ぐためにポリシーを元に戻せます。

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "DenyRepositoryDeletion",
               "Action": [
                   "codeartifact:DeleteRepository"
               ],
               "Effect": "Deny",
               "Resource": "*",
               "Principal": "*"
           }
       ]
   }
   ```

------

または、同じ拒否ステートメントをリポジトリポリシーに含めることができます。これにより、価値の高いリポジトリを削除から保護するために、より柔軟に対応できるようになります。