

AWS has decided to discontinue AWS Proton, with support ending on October 7, 2026. New customers will not be able to sign up after October 7, 2025, but existing customers can continue to use the service until October 7, 2026.For more information, see [AWS Proton Service Deprecation and Migration Guide](https://docs.aws.amazon.com/proton/latest/userguide/proton-end-of-support.html).

# CreateRepository
<a name="API_CreateRepository"></a>

Create and register a link to a repository. AWS Proton uses the link to repeatedly access the repository, to either push to it (self-managed provisioning) or pull from it (template sync). You can share a linked repository across multiple resources (like environments using self-managed provisioning, or synced templates). When you create a repository link, AWS Proton creates a [service-linked role](https://docs.aws.amazon.com/proton/latest/userguide/using-service-linked-roles.html) for you.

For more information, see [Self-managed provisioning](https://docs.aws.amazon.com/proton/latest/userguide/ag-works-prov-methods.html#ag-works-prov-methods-self), [Template bundles](https://docs.aws.amazon.com/proton/latest/userguide/ag-template-authoring.html#ag-template-bundles), and [Template sync configurations](https://docs.aws.amazon.com/proton/latest/userguide/ag-template-sync-configs.html) in the * AWS Proton User Guide*.

## Request Syntax
<a name="API_CreateRepository_RequestSyntax"></a>

```
{
   "connectionArn": "string",
   "encryptionKey": "string",
   "name": "string",
   "provider": "string",
   "tags": [ 
      { 
         "key": "string",
         "value": "string"
      }
   ]
}
```

## Request Parameters
<a name="API_CreateRepository_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [connectionArn](#API_CreateRepository_RequestSyntax) **   <a name="proton-CreateRepository-request-connectionArn"></a>
The Amazon Resource Name (ARN) of your AWS CodeStar connection that connects AWS Proton to your repository provider account. For more information, see [Setting up for AWS Proton](https://docs.aws.amazon.com/proton/latest/userguide/setting-up-for-service.html) in the * AWS Proton User Guide*.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 200.  
Pattern: `arn:(aws|aws-cn|aws-us-gov):[a-zA-Z0-9-]+:[a-zA-Z0-9-]*:\d{12}:([\w+=,.@-]+[/:])*[\w+=,.@-]+`   
Required: Yes

 ** [encryptionKey](#API_CreateRepository_RequestSyntax) **   <a name="proton-CreateRepository-request-encryptionKey"></a>
The ARN of your customer AWS Key Management Service (AWS KMS) key.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 200.  
Pattern: `arn:(aws|aws-cn|aws-us-gov):[a-zA-Z0-9-]+:[a-zA-Z0-9-]*:\d{12}:([\w+=,.@-]+[/:])*[\w+=,.@-]+`   
Required: No

 ** [name](#API_CreateRepository_RequestSyntax) **   <a name="proton-CreateRepository-request-name"></a>
The repository name (for example, `myrepos/myrepo`).  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 100.  
Pattern: `.*[A-Za-z0-9_.-].*/[A-Za-z0-9_.-].*`   
Required: Yes

 ** [provider](#API_CreateRepository_RequestSyntax) **   <a name="proton-CreateRepository-request-provider"></a>
The repository provider.  
Type: String  
Valid Values: `GITHUB | GITHUB_ENTERPRISE | BITBUCKET`   
Required: Yes

 ** [tags](#API_CreateRepository_RequestSyntax) **   <a name="proton-CreateRepository-request-tags"></a>
An optional list of metadata items that you can associate with the AWS Proton repository. A tag is a key-value pair.  
For more information, see [AWS Proton resources and tagging](https://docs.aws.amazon.com/proton/latest/userguide/resources.html) in the * AWS Proton User Guide*.  
Type: Array of [Tag](API_Tag.md) objects  
Array Members: Minimum number of 0 items. Maximum number of 50 items.  
Required: No

## Response Syntax
<a name="API_CreateRepository_ResponseSyntax"></a>

```
{
   "repository": { 
      "arn": "string",
      "connectionArn": "string",
      "encryptionKey": "string",
      "name": "string",
      "provider": "string"
   }
}
```

## Response Elements
<a name="API_CreateRepository_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [repository](#API_CreateRepository_ResponseSyntax) **   <a name="proton-CreateRepository-response-repository"></a>
The repository link's detail data that's returned by AWS Proton.  
Type: [Repository](API_Repository.md) object

## Errors
<a name="API_CreateRepository_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
There *isn't* sufficient access for performing this action.  
HTTP Status Code: 400

 ** ConflictException **   
The request *couldn't* be made due to a conflicting operation or resource.  
HTTP Status Code: 400

 ** InternalServerException **   
The request failed to register with the service.  
HTTP Status Code: 500

 ** ServiceQuotaExceededException **   
A quota was exceeded. For more information, see [AWS Proton Quotas](https://docs.aws.amazon.com/proton/latest/userguide/ag-limits.html) in the * AWS Proton User Guide*.  
HTTP Status Code: 400

 ** ThrottlingException **   
The request was denied due to request throttling.  
HTTP Status Code: 400

 ** ValidationException **   
The input is invalid or an out-of-range value was supplied for the input parameter.  
HTTP Status Code: 400

## See Also
<a name="API_CreateRepository_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/proton-2020-07-20/CreateRepository) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/proton-2020-07-20/CreateRepository) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/proton-2020-07-20/CreateRepository) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/proton-2020-07-20/CreateRepository) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/proton-2020-07-20/CreateRepository) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/proton-2020-07-20/CreateRepository) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/proton-2020-07-20/CreateRepository) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/proton-2020-07-20/CreateRepository) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/proton-2020-07-20/CreateRepository) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/proton-2020-07-20/CreateRepository) 