@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api AWS CodeStar
@base http://codestar.{region}.amazonaws.com
@version 2017-04-19
@auth ApiKey Authorization in header
@common_fields {X-Amz-Target: str}
@endpoints 18
@toc #X-Amz-Target=CodeStar_20170419.AssociateTeamMember(1), #X-Amz-Target=CodeStar_20170419.CreateProject(1), #X-Amz-Target=CodeStar_20170419.CreateUserProfile(1), #X-Amz-Target=CodeStar_20170419.DeleteProject(1), #X-Amz-Target=CodeStar_20170419.DeleteUserProfile(1), #X-Amz-Target=CodeStar_20170419.DescribeProject(1), #X-Amz-Target=CodeStar_20170419.DescribeUserProfile(1), #X-Amz-Target=CodeStar_20170419.DisassociateTeamMember(1), #X-Amz-Target=CodeStar_20170419.ListProjects(1), #X-Amz-Target=CodeStar_20170419.ListResources(1), #X-Amz-Target=CodeStar_20170419.ListTagsForProject(1), #X-Amz-Target=CodeStar_20170419.ListTeamMembers(1), #X-Amz-Target=CodeStar_20170419.ListUserProfiles(1), #X-Amz-Target=CodeStar_20170419.TagProject(1), #X-Amz-Target=CodeStar_20170419.UntagProject(1), #X-Amz-Target=CodeStar_20170419.UpdateProject(1), #X-Amz-Target=CodeStar_20170419.UpdateTeamMember(1), #X-Amz-Target=CodeStar_20170419.UpdateUserProfile(1)

@group #X-Amz-Target=CodeStar_20170419.AssociateTeamMember
@endpoint POST /#X-Amz-Target=CodeStar_20170419.AssociateTeamMember
@desc Adds an IAM user to the team for an AWS CodeStar project.
@required {projectId: any, userArn: any, projectRole: any}
@optional {clientRequestToken: any, remoteAccessAllowed: any}
@returns(200) {clientRequestToken: any} # Success
@errors {480: LimitExceededException, 481: ProjectNotFoundException, 482: TeamMemberAlreadyAssociatedException, 483: ValidationException, 484: InvalidServiceRoleException, 485: ProjectConfigurationException, 486: ConcurrentModificationException}

@endgroup

@group #X-Amz-Target=CodeStar_20170419.CreateProject
@endpoint POST /#X-Amz-Target=CodeStar_20170419.CreateProject
@desc Creates a project, including project resources. This action creates a project based on a submitted project request. A set of source code files and a toolchain template file can be included with the project request. If these are not provided, an empty project is created.
@required {name: any, id: any}
@optional {description: any, clientRequestToken: any, sourceCode: any, toolchain: any, tags: any}
@returns(200) {id: any, arn: any, clientRequestToken: any, projectTemplateId: any} # Success
@errors {480: ProjectAlreadyExistsException, 481: LimitExceededException, 482: ValidationException, 483: ProjectCreationFailedException, 484: InvalidServiceRoleException, 485: ProjectConfigurationException, 486: ConcurrentModificationException}

@endgroup

@group #X-Amz-Target=CodeStar_20170419.CreateUserProfile
@endpoint POST /#X-Amz-Target=CodeStar_20170419.CreateUserProfile
@desc Creates a profile for a user that includes user preferences, such as the display name and email address assocciated with the user, in AWS CodeStar. The user profile is not project-specific. Information in the user profile is displayed wherever the user's information appears to other users in AWS CodeStar.
@required {userArn: any, displayName: any, emailAddress: any}
@optional {sshPublicKey: any}
@returns(200) {userArn: any, displayName: any, emailAddress: any, sshPublicKey: any, createdTimestamp: any, lastModifiedTimestamp: any} # Success
@errors {480: UserProfileAlreadyExistsException, 481: ValidationException}

@endgroup

@group #X-Amz-Target=CodeStar_20170419.DeleteProject
@endpoint POST /#X-Amz-Target=CodeStar_20170419.DeleteProject
@desc Deletes a project, including project resources. Does not delete users associated with the project, but does delete the IAM roles that allowed access to the project.
@required {id: any}
@optional {clientRequestToken: any, deleteStack: any}
@returns(200) {stackId: any, projectArn: any} # Success
@errors {480: ConcurrentModificationException, 481: ValidationException, 482: InvalidServiceRoleException}

@endgroup

@group #X-Amz-Target=CodeStar_20170419.DeleteUserProfile
@endpoint POST /#X-Amz-Target=CodeStar_20170419.DeleteUserProfile
@desc Deletes a user profile in AWS CodeStar, including all personal preference data associated with that profile, such as display name and email address. It does not delete the history of that user, for example the history of commits made by that user.
@required {userArn: any}
@returns(200) {userArn: any} # Success
@errors {480: ValidationException}

@endgroup

@group #X-Amz-Target=CodeStar_20170419.DescribeProject
@endpoint POST /#X-Amz-Target=CodeStar_20170419.DescribeProject
@desc Describes a project and its resources.
@required {id: any}
@returns(200) {name: any, id: any, arn: any, description: any, clientRequestToken: any, createdTimeStamp: any, stackId: any, projectTemplateId: any, status: any} # Success
@errors {480: ProjectNotFoundException, 481: ValidationException, 482: InvalidServiceRoleException, 483: ProjectConfigurationException, 484: ConcurrentModificationException}

@endgroup

@group #X-Amz-Target=CodeStar_20170419.DescribeUserProfile
@endpoint POST /#X-Amz-Target=CodeStar_20170419.DescribeUserProfile
@desc Describes a user in AWS CodeStar and the user attributes across all projects.
@required {userArn: any}
@returns(200) {userArn: any, displayName: any, emailAddress: any, sshPublicKey: any, createdTimestamp: any, lastModifiedTimestamp: any} # Success
@errors {480: UserProfileNotFoundException, 481: ValidationException}

@endgroup

@group #X-Amz-Target=CodeStar_20170419.DisassociateTeamMember
@endpoint POST /#X-Amz-Target=CodeStar_20170419.DisassociateTeamMember
@desc Removes a user from a project. Removing a user from a project also removes the IAM policies from that user that allowed access to the project and its resources. Disassociating a team member does not remove that user's profile from AWS CodeStar. It does not remove the user from IAM.
@required {projectId: any, userArn: any}
@returns(200) Success
@errors {480: ProjectNotFoundException, 481: ValidationException, 482: InvalidServiceRoleException, 483: ConcurrentModificationException}

@endgroup

@group #X-Amz-Target=CodeStar_20170419.ListProjects
@endpoint POST /#X-Amz-Target=CodeStar_20170419.ListProjects
@desc Lists all projects in AWS CodeStar associated with your AWS account.
@optional {nextToken: any, maxResults: any}
@returns(200) {projects: any, nextToken: any} # Success
@errors {480: InvalidNextTokenException, 481: ValidationException}

@endgroup

@group #X-Amz-Target=CodeStar_20170419.ListResources
@endpoint POST /#X-Amz-Target=CodeStar_20170419.ListResources
@desc Lists resources associated with a project in AWS CodeStar.
@required {projectId: any}
@optional {nextToken: any, maxResults: any}
@returns(200) {resources: any, nextToken: any} # Success
@errors {480: ProjectNotFoundException, 481: InvalidNextTokenException, 482: ValidationException}

@endgroup

@group #X-Amz-Target=CodeStar_20170419.ListTagsForProject
@endpoint POST /#X-Amz-Target=CodeStar_20170419.ListTagsForProject
@desc Gets the tags for a project.
@required {id: any}
@optional {nextToken: any, maxResults: any}
@returns(200) {tags: any, nextToken: any} # Success
@errors {480: ProjectNotFoundException, 481: ValidationException, 482: InvalidNextTokenException}

@endgroup

@group #X-Amz-Target=CodeStar_20170419.ListTeamMembers
@endpoint POST /#X-Amz-Target=CodeStar_20170419.ListTeamMembers
@desc Lists all team members associated with a project.
@required {projectId: any}
@optional {nextToken: any, maxResults: any}
@returns(200) {teamMembers: any, nextToken: any} # Success
@errors {480: ProjectNotFoundException, 481: InvalidNextTokenException, 482: ValidationException}

@endgroup

@group #X-Amz-Target=CodeStar_20170419.ListUserProfiles
@endpoint POST /#X-Amz-Target=CodeStar_20170419.ListUserProfiles
@desc Lists all the user profiles configured for your AWS account in AWS CodeStar.
@optional {nextToken: any, maxResults: any}
@returns(200) {userProfiles: any, nextToken: any} # Success
@errors {480: InvalidNextTokenException, 481: ValidationException}

@endgroup

@group #X-Amz-Target=CodeStar_20170419.TagProject
@endpoint POST /#X-Amz-Target=CodeStar_20170419.TagProject
@desc Adds tags to a project.
@required {id: any, tags: any}
@returns(200) {tags: any} # Success
@errors {480: ProjectNotFoundException, 481: ValidationException, 482: LimitExceededException, 483: ConcurrentModificationException}

@endgroup

@group #X-Amz-Target=CodeStar_20170419.UntagProject
@endpoint POST /#X-Amz-Target=CodeStar_20170419.UntagProject
@desc Removes tags from a project.
@required {id: any, tags: any}
@returns(200) Success
@errors {480: ProjectNotFoundException, 481: ValidationException, 482: LimitExceededException, 483: ConcurrentModificationException}

@endgroup

@group #X-Amz-Target=CodeStar_20170419.UpdateProject
@endpoint POST /#X-Amz-Target=CodeStar_20170419.UpdateProject
@desc Updates a project in AWS CodeStar.
@required {id: any}
@optional {name: any, description: any}
@returns(200) Success
@errors {480: ProjectNotFoundException, 481: ValidationException}

@endgroup

@group #X-Amz-Target=CodeStar_20170419.UpdateTeamMember
@endpoint POST /#X-Amz-Target=CodeStar_20170419.UpdateTeamMember
@desc Updates a team member's attributes in an AWS CodeStar project. For example, you can change a team member's role in the project, or change whether they have remote access to project resources.
@required {projectId: any, userArn: any}
@optional {projectRole: any, remoteAccessAllowed: any}
@returns(200) {userArn: any, projectRole: any, remoteAccessAllowed: any} # Success
@errors {480: LimitExceededException, 481: ProjectNotFoundException, 482: ValidationException, 483: InvalidServiceRoleException, 484: ProjectConfigurationException, 485: ConcurrentModificationException, 486: TeamMemberNotFoundException}

@endgroup

@group #X-Amz-Target=CodeStar_20170419.UpdateUserProfile
@endpoint POST /#X-Amz-Target=CodeStar_20170419.UpdateUserProfile
@desc Updates a user's profile in AWS CodeStar. The user profile is not project-specific. Information in the user profile is displayed wherever the user's information appears to other users in AWS CodeStar.
@required {userArn: any}
@optional {displayName: any, emailAddress: any, sshPublicKey: any}
@returns(200) {userArn: any, displayName: any, emailAddress: any, sshPublicKey: any, createdTimestamp: any, lastModifiedTimestamp: any} # Success
@errors {480: UserProfileNotFoundException, 481: ValidationException}

@endgroup

@end
