CreateRepository - AWS Proton

CreateRepository

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 for you.

For more information, see Self-managed provisioning, Template bundles, and Template sync configurations in the AWS Proton User Guide.

Request Syntax

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

Request Parameters

For information about the parameters that are common to all actions, see Common Parameters.

The request accepts the following data in JSON format.

connectionArn

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 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

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

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

The repository provider.

Type: String

Valid Values: GITHUB | GITHUB_ENTERPRISE | BITBUCKET

Required: Yes

tags

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 in the AWS Proton User Guide.

Type: Array of Tag objects

Array Members: Minimum number of 0 items. Maximum number of 50 items.

Required: No

Response Syntax

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

Response Elements

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

The repository link's detail data that's returned by AWS Proton.

Type: Repository object

Errors

For information about the errors that are common to all actions, see Common Errors.

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 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

For more information about using this API in one of the language-specific AWS SDKs, see the following: