@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api AWS CodeStar connections
@version 2019-12-01
@auth AWS SigV4
@endpoints 27
@hint download_for_search
@toc root(27)

@endpoint POST /
@required {ConnectionName: str}
@optional {ProviderType: str, Tags: [Tag], HostArn: str}
@returns(200) {ConnectionArn: str, Tags: [Tag]?}

@endpoint POST /
@required {Name: str, ProviderType: str, ProviderEndpoint: str}
@optional {VpcConfiguration: VpcConfiguration, Tags: [Tag]}
@returns(200) {HostArn: str?, Tags: [Tag]?}

@endpoint POST /
@required {ConnectionArn: str, OwnerId: str, RepositoryName: str}
@optional {EncryptionKeyArn: str, Tags: [Tag]}
@returns(200) {RepositoryLinkInfo: RepositoryLinkInfo{ConnectionArn: str, EncryptionKeyArn: str?, OwnerId: str, ProviderType: str, RepositoryLinkArn: str, RepositoryLinkId: str, RepositoryName: str}}

@endpoint POST /
@required {Branch: str, ConfigFile: str, RepositoryLinkId: str, ResourceName: str, RoleArn: str, SyncType: str}
@optional {PublishDeploymentStatus: str, TriggerResourceUpdateOn: str}
@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?}}

@endpoint POST /
@required {ConnectionArn: str}

@endpoint POST /
@required {HostArn: str}

@endpoint POST /
@required {RepositoryLinkId: str}

@endpoint POST /
@required {SyncType: str, ResourceName: str}

@endpoint POST /
@required {ConnectionArn: str}
@returns(200) {Connection: Connection?{ConnectionName: str?, ConnectionArn: str?, ProviderType: str?, OwnerAccountId: str?, ConnectionStatus: str?, HostArn: str?}}

@endpoint POST /
@required {HostArn: str}
@returns(200) {Name: str?, Status: str?, ProviderType: str?, ProviderEndpoint: str?, VpcConfiguration: VpcConfiguration?{VpcId: str, SubnetIds: [str], SecurityGroupIds: [str], TlsCertificate: str?}}

@endpoint POST /
@required {RepositoryLinkId: str}
@returns(200) {RepositoryLinkInfo: RepositoryLinkInfo{ConnectionArn: str, EncryptionKeyArn: str?, OwnerId: str, ProviderType: str, RepositoryLinkArn: str, RepositoryLinkId: str, RepositoryName: str}}

@endpoint POST /
@required {Branch: str, RepositoryLinkId: str, SyncType: str}
@returns(200) {LatestSync: RepositorySyncAttempt{StartedAt: str(timestamp), Status: str, Events: [RepositorySyncEvent]}}

@endpoint POST /
@required {ResourceName: str, SyncType: str}
@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}}

@endpoint POST /
@required {SyncType: str, ResourceName: str}
@returns(200) {SyncBlockerSummary: SyncBlockerSummary{ResourceName: str, ParentResourceName: str?, LatestBlockers: [SyncBlocker]?}}

@endpoint POST /
@required {SyncType: str, ResourceName: str}
@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?}}

@endpoint POST /
@optional {ProviderTypeFilter: str, HostArnFilter: str, MaxResults: int, NextToken: str}
@returns(200) {Connections: [Connection]?, NextToken: str?}

@endpoint POST /
@optional {MaxResults: int, NextToken: str}
@returns(200) {Hosts: [Host]?, NextToken: str?}

@endpoint POST /
@optional {MaxResults: int, NextToken: str}
@returns(200) {RepositoryLinks: [RepositoryLinkInfo], NextToken: str?}

@endpoint POST /
@required {RepositoryLinkId: str, SyncType: str}
@returns(200) {RepositorySyncDefinitions: [RepositorySyncDefinition], NextToken: str?}

@endpoint POST /
@required {RepositoryLinkId: str, SyncType: str}
@optional {MaxResults: int, NextToken: str}
@returns(200) {SyncConfigurations: [SyncConfiguration], NextToken: str?}

@endpoint POST /
@required {ResourceArn: str}
@returns(200) {Tags: [Tag]?}

@endpoint POST /
@required {ResourceArn: str, Tags: [Tag]}

@endpoint POST /
@required {ResourceArn: str, TagKeys: [str]}

@endpoint POST /
@required {HostArn: str}
@optional {ProviderEndpoint: str, VpcConfiguration: VpcConfiguration}

@endpoint POST /
@required {RepositoryLinkId: str}
@optional {ConnectionArn: str, EncryptionKeyArn: str}
@returns(200) {RepositoryLinkInfo: RepositoryLinkInfo{ConnectionArn: str, EncryptionKeyArn: str?, OwnerId: str, ProviderType: str, RepositoryLinkArn: str, RepositoryLinkId: str, RepositoryName: str}}

@endpoint POST /
@required {Id: str, SyncType: str, ResourceName: str, ResolvedReason: str}
@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)?}}

@endpoint POST /
@required {ResourceName: str, SyncType: str}
@optional {Branch: str, ConfigFile: str, RepositoryLinkId: str, RoleArn: str, PublishDeploymentStatus: str, TriggerResourceUpdateOn: str}
@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?}}

@end
