{"files":{"SKILL.md":"---\nname: aws-codestar-connections\ndescription: \"AWS CodeStar connections API skill. Use when working with AWS CodeStar connections for root. Covers 27 endpoints.\"\nversion: 1.0.0\ngenerator: lapsh\n---\n\n# AWS CodeStar connections\nAPI version: 2019-12-01\n\n## Auth\nAWS SigV4\n\n## Base URL\nNot specified.\n\n## Setup\n1. Configure auth: AWS SigV4\n2. Verify API access with a test request\n3. POST / -- create first resource\n\n## Endpoints\n27 endpoints across 1 group. See references/api-spec.lap for full details.\n\n### Root\n| Method | Path | Description |\n|--------|------|-------------|\n| POST | / | Creates a connection that can then be given to other Amazon Web Services services like CodePipeline so that it can access third-party code repositories. The connection is in pending status until the third-party connection handshake is completed from the console. |\n| POST | / | Creates a resource that represents the infrastructure where a third-party provider is installed. The host is used when you create connections to an installed third-party provider type, such as GitHub Enterprise Server. You create one host for all connections to that provider.  A host created through the CLI or the SDK is in `PENDING` status by default. You can make its status `AVAILABLE` by setting up the host in the console. |\n| POST | / | Creates a link to a specified external Git repository. A repository link allows Git sync to monitor and sync changes to files in a specified Git repository. |\n| POST | / | Creates a sync configuration which allows Amazon Web Services to sync content from a Git repository to update a specified Amazon Web Services resource. Parameters for the sync configuration are determined by the sync type. |\n| POST | / | The connection to be deleted. |\n| POST | / | The host to be deleted. Before you delete a host, all connections associated to the host must be deleted.  A host cannot be deleted if it is in the VPC_CONFIG_INITIALIZING or VPC_CONFIG_DELETING state. |\n| POST | / | Deletes the association between your connection and a specified external Git repository. |\n| POST | / | Deletes the sync configuration for a specified repository and connection. |\n| POST | / | Returns the connection ARN and details such as status, owner, and provider type. |\n| POST | / | Returns the host ARN and details such as status, provider type, endpoint, and, if applicable, the VPC configuration. |\n| POST | / | Returns details about a repository link. A repository link allows Git sync to monitor and sync changes from files in a specified Git repository. |\n| POST | / | Returns details about the sync status for a repository. A repository sync uses Git sync to push and pull changes from your remote repository. |\n| POST | / | Returns the status of the sync with the Git repository for a specific Amazon Web Services resource. |\n| POST | / | Returns a list of the most recent sync blockers. |\n| POST | / | Returns details about a sync configuration, including the sync type and resource name. A sync configuration allows the configuration to sync (push and pull) changes from the remote repository for a specified branch in a Git repository. |\n| POST | / | Lists the connections associated with your account. |\n| POST | / | Lists the hosts associated with your account. |\n| POST | / | Lists the repository links created for connections in your account. |\n| POST | / | Lists the repository sync definitions for repository links in your account. |\n| POST | / | Returns a list of sync configurations for a specified repository. |\n| POST | / | Gets the set of key-value pairs (metadata) that are used to manage the resource. |\n| POST | / | Adds to or modifies the tags of the given resource. Tags are metadata that can be used to manage a resource. |\n| POST | / | Removes tags from an Amazon Web Services resource. |\n| POST | / | Updates a specified host with the provided configurations. |\n| POST | / | Updates the association between your connection and a specified external Git repository. A repository link allows Git sync to monitor and sync changes to files in a specified Git repository. |\n| POST | / | Allows you to update the status of a sync blocker, resolving the blocker and allowing syncing to continue. |\n| POST | / | Updates the sync configuration for your connection and a specified external Git repository. |\n\n## Common Questions\nMatch user requests to endpoints in references/api-spec.lap. Key patterns:\n- \"Create a resource?\" -> POST /\n- \"How to authenticate?\" -> See Auth section above\n\n## Response Tips\n- Check response schemas in references/api-spec.lap for field details\n- Create/update endpoints return the modified resource on success\n\n## References\n- Full spec: See references/api-spec.lap for complete endpoint details, parameter tables, and response schemas\n\n> Generated from the official API spec by [LAP](https://lap.sh)\n","references/api-spec.lap":"@lap v0.3\n# Machine-readable API spec. Each @endpoint block is one API call.\n@api AWS CodeStar connections\n@version 2019-12-01\n@auth AWS SigV4\n@endpoints 27\n@hint download_for_search\n@toc root(27)\n\n@endpoint POST /\n@desc Creates a connection that can then be given to other Amazon Web Services services like CodePipeline so that it can access third-party code repositories. The connection is in pending status until the third-party connection handshake is completed from the console.\n@required {ConnectionName: str}\n@optional {ProviderType: str, Tags: [Tag], HostArn: str}\n@returns(200) {ConnectionArn: str, Tags: [Tag]?}\n\n@endpoint POST /\n@desc Creates a resource that represents the infrastructure where a third-party provider is installed. The host is used when you create connections to an installed third-party provider type, such as GitHub Enterprise Server. You create one host for all connections to that provider.  A host created through the CLI or the SDK is in `PENDING` status by default. You can make its status `AVAILABLE` by setting up the host in the console.\n@required {Name: str, ProviderType: str, ProviderEndpoint: str}\n@optional {VpcConfiguration: VpcConfiguration, Tags: [Tag]}\n@returns(200) {HostArn: str?, Tags: [Tag]?}\n\n@endpoint POST /\n@desc Creates a link to a specified external Git repository. A repository link allows Git sync to monitor and sync changes to files in a specified Git repository.\n@required {ConnectionArn: str, OwnerId: str, RepositoryName: str}\n@optional {EncryptionKeyArn: str, Tags: [Tag]}\n@returns(200) {RepositoryLinkInfo: RepositoryLinkInfo{ConnectionArn: str, EncryptionKeyArn: str?, OwnerId: str, ProviderType: str, RepositoryLinkArn: str, RepositoryLinkId: str, RepositoryName: str}}\n\n@endpoint POST /\n@desc Creates a sync configuration which allows Amazon Web Services to sync content from a Git repository to update a specified Amazon Web Services resource. Parameters for the sync configuration are determined by the sync type.\n@required {Branch: str, ConfigFile: str, RepositoryLinkId: str, ResourceName: str, RoleArn: str, SyncType: str}\n@optional {PublishDeploymentStatus: str, TriggerResourceUpdateOn: str}\n@returns(200) {SyncConfiguration: SyncConfiguration{Branch: str, ConfigFile: str?, OwnerId: str, ProviderType: str, RepositoryLinkId: str, RepositoryName: str, ResourceName: str, RoleArn: str, SyncType: str, PublishDeploymentStatus: str?, TriggerResourceUpdateOn: str?}}\n\n@endpoint POST /\n@desc The connection to be deleted.\n@required {ConnectionArn: str}\n\n@endpoint POST /\n@desc The host to be deleted. Before you delete a host, all connections associated to the host must be deleted.  A host cannot be deleted if it is in the VPC_CONFIG_INITIALIZING or VPC_CONFIG_DELETING state.\n@required {HostArn: str}\n\n@endpoint POST /\n@desc Deletes the association between your connection and a specified external Git repository.\n@required {RepositoryLinkId: str}\n\n@endpoint POST /\n@desc Deletes the sync configuration for a specified repository and connection.\n@required {SyncType: str, ResourceName: str}\n\n@endpoint POST /\n@desc Returns the connection ARN and details such as status, owner, and provider type.\n@required {ConnectionArn: str}\n@returns(200) {Connection: Connection?{ConnectionName: str?, ConnectionArn: str?, ProviderType: str?, OwnerAccountId: str?, ConnectionStatus: str?, HostArn: str?}}\n\n@endpoint POST /\n@desc Returns the host ARN and details such as status, provider type, endpoint, and, if applicable, the VPC configuration.\n@required {HostArn: str}\n@returns(200) {Name: str?, Status: str?, ProviderType: str?, ProviderEndpoint: str?, VpcConfiguration: VpcConfiguration?{VpcId: str, SubnetIds: [str], SecurityGroupIds: [str], TlsCertificate: str?}}\n\n@endpoint POST /\n@desc Returns details about a repository link. A repository link allows Git sync to monitor and sync changes from files in a specified Git repository.\n@required {RepositoryLinkId: str}\n@returns(200) {RepositoryLinkInfo: RepositoryLinkInfo{ConnectionArn: str, EncryptionKeyArn: str?, OwnerId: str, ProviderType: str, RepositoryLinkArn: str, RepositoryLinkId: str, RepositoryName: str}}\n\n@endpoint POST /\n@desc Returns details about the sync status for a repository. A repository sync uses Git sync to push and pull changes from your remote repository.\n@required {Branch: str, RepositoryLinkId: str, SyncType: str}\n@returns(200) {LatestSync: RepositorySyncAttempt{StartedAt: str(timestamp), Status: str, Events: [RepositorySyncEvent]}}\n\n@endpoint POST /\n@desc Returns the status of the sync with the Git repository for a specific Amazon Web Services resource.\n@required {ResourceName: str, SyncType: str}\n@returns(200) {DesiredState: Revision?{Branch: str, Directory: str, OwnerId: str, RepositoryName: str, ProviderType: str, Sha: str}, LatestSuccessfulSync: ResourceSyncAttempt?{Events: [ResourceSyncEvent], InitialRevision: Revision{Branch: str, Directory: str, OwnerId: str, RepositoryName: str, ProviderType: str, Sha: str}, StartedAt: str(timestamp), Status: str, TargetRevision: Revision{Branch: str, Directory: str, OwnerId: str, RepositoryName: str, ProviderType: str, Sha: str}, Target: str}, LatestSync: ResourceSyncAttempt{Events: [ResourceSyncEvent], InitialRevision: Revision{Branch: str, Directory: str, OwnerId: str, RepositoryName: str, ProviderType: str, Sha: str}, StartedAt: str(timestamp), Status: str, TargetRevision: Revision{Branch: str, Directory: str, OwnerId: str, RepositoryName: str, ProviderType: str, Sha: str}, Target: str}}\n\n@endpoint POST /\n@desc Returns a list of the most recent sync blockers.\n@required {SyncType: str, ResourceName: str}\n@returns(200) {SyncBlockerSummary: SyncBlockerSummary{ResourceName: str, ParentResourceName: str?, LatestBlockers: [SyncBlocker]?}}\n\n@endpoint POST /\n@desc Returns details about a sync configuration, including the sync type and resource name. A sync configuration allows the configuration to sync (push and pull) changes from the remote repository for a specified branch in a Git repository.\n@required {SyncType: str, ResourceName: str}\n@returns(200) {SyncConfiguration: SyncConfiguration{Branch: str, ConfigFile: str?, OwnerId: str, ProviderType: str, RepositoryLinkId: str, RepositoryName: str, ResourceName: str, RoleArn: str, SyncType: str, PublishDeploymentStatus: str?, TriggerResourceUpdateOn: str?}}\n\n@endpoint POST /\n@desc Lists the connections associated with your account.\n@optional {ProviderTypeFilter: str, HostArnFilter: str, MaxResults: int, NextToken: str}\n@returns(200) {Connections: [Connection]?, NextToken: str?}\n\n@endpoint POST /\n@desc Lists the hosts associated with your account.\n@optional {MaxResults: int, NextToken: str}\n@returns(200) {Hosts: [Host]?, NextToken: str?}\n\n@endpoint POST /\n@desc Lists the repository links created for connections in your account.\n@optional {MaxResults: int, NextToken: str}\n@returns(200) {RepositoryLinks: [RepositoryLinkInfo], NextToken: str?}\n\n@endpoint POST /\n@desc Lists the repository sync definitions for repository links in your account.\n@required {RepositoryLinkId: str, SyncType: str}\n@returns(200) {RepositorySyncDefinitions: [RepositorySyncDefinition], NextToken: str?}\n\n@endpoint POST /\n@desc Returns a list of sync configurations for a specified repository.\n@required {RepositoryLinkId: str, SyncType: str}\n@optional {MaxResults: int, NextToken: str}\n@returns(200) {SyncConfigurations: [SyncConfiguration], NextToken: str?}\n\n@endpoint POST /\n@desc Gets the set of key-value pairs (metadata) that are used to manage the resource.\n@required {ResourceArn: str}\n@returns(200) {Tags: [Tag]?}\n\n@endpoint POST /\n@desc Adds to or modifies the tags of the given resource. Tags are metadata that can be used to manage a resource.\n@required {ResourceArn: str, Tags: [Tag]}\n\n@endpoint POST /\n@desc Removes tags from an Amazon Web Services resource.\n@required {ResourceArn: str, TagKeys: [str]}\n\n@endpoint POST /\n@desc Updates a specified host with the provided configurations.\n@required {HostArn: str}\n@optional {ProviderEndpoint: str, VpcConfiguration: VpcConfiguration}\n\n@endpoint POST /\n@desc Updates the association between your connection and a specified external Git repository. A repository link allows Git sync to monitor and sync changes to files in a specified Git repository.\n@required {RepositoryLinkId: str}\n@optional {ConnectionArn: str, EncryptionKeyArn: str}\n@returns(200) {RepositoryLinkInfo: RepositoryLinkInfo{ConnectionArn: str, EncryptionKeyArn: str?, OwnerId: str, ProviderType: str, RepositoryLinkArn: str, RepositoryLinkId: str, RepositoryName: str}}\n\n@endpoint POST /\n@desc Allows you to update the status of a sync blocker, resolving the blocker and allowing syncing to continue.\n@required {Id: str, SyncType: str, ResourceName: str, ResolvedReason: str}\n@returns(200) {ResourceName: str, ParentResourceName: str?, SyncBlocker: SyncBlocker{Id: str, Type: str, Status: str, CreatedReason: str, CreatedAt: str(timestamp), Contexts: [SyncBlockerContext]?, ResolvedReason: str?, ResolvedAt: str(timestamp)?}}\n\n@endpoint POST /\n@desc Updates the sync configuration for your connection and a specified external Git repository.\n@required {ResourceName: str, SyncType: str}\n@optional {Branch: str, ConfigFile: str, RepositoryLinkId: str, RoleArn: str, PublishDeploymentStatus: str, TriggerResourceUpdateOn: str}\n@returns(200) {SyncConfiguration: SyncConfiguration{Branch: str, ConfigFile: str?, OwnerId: str, ProviderType: str, RepositoryLinkId: str, RepositoryName: str, ResourceName: str, RoleArn: str, SyncType: str, PublishDeploymentStatus: str?, TriggerResourceUpdateOn: str?}}\n\n@end\n"}}