@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api AWS Cloud9
@version 2017-09-23
@auth AWS SigV4
@endpoints 13
@toc root(13)

@endpoint POST /
@desc Creates an Cloud9 development environment, launches an Amazon Elastic Compute Cloud (Amazon EC2) instance, and then connects from the instance to the environment.
@required {name: str, instanceType: str, imageId: str}
@optional {description: str, clientRequestToken: str, subnetId: str, automaticStopTimeMinutes: int, ownerArn: str, tags: [Tag], connectionType: str, dryRun: bool}
@returns(200) {environmentId: str?}

@endpoint POST /
@desc Adds an environment member to an Cloud9 development environment.
@required {environmentId: str, userArn: str, permissions: str}
@returns(200) {membership: EnvironmentMember{permissions: str, userId: str, userArn: str, environmentId: str, lastAccess: str(timestamp)?}}

@endpoint POST /
@desc Deletes an Cloud9 development environment. If an Amazon EC2 instance is connected to the environment, also terminates the instance.
@required {environmentId: str}

@endpoint POST /
@desc Deletes an environment member from a development environment.
@required {environmentId: str, userArn: str}

@endpoint POST /
@desc Gets information about environment members for an Cloud9 development environment.
@optional {userArn: str, environmentId: str, permissions: [str], nextToken: str, maxResults: int}
@returns(200) {memberships: [EnvironmentMember]?, nextToken: str?}

@endpoint POST /
@desc Gets status information for an Cloud9 development environment.
@required {environmentId: str}
@returns(200) {status: str, message: str}

@endpoint POST /
@desc Gets information about Cloud9 development environments.
@required {environmentIds: [str]}
@returns(200) {environments: [Environment]?}

@endpoint POST /
@desc Gets a list of Cloud9 development environment identifiers.
@optional {nextToken: str, maxResults: int}
@returns(200) {nextToken: str?, environmentIds: [str]?}

@endpoint POST /
@desc Gets a list of the tags associated with an Cloud9 development environment.
@required {ResourceARN: str}
@returns(200) {Tags: [Tag]?}

@endpoint POST /
@desc Adds tags to an Cloud9 development environment.  Tags that you add to an Cloud9 environment by using this method will NOT be automatically propagated to underlying resources.
@required {ResourceARN: str, Tags: [Tag]}

@endpoint POST /
@desc Removes tags from an Cloud9 development environment.
@required {ResourceARN: str, TagKeys: [str]}

@endpoint POST /
@desc Changes the settings of an existing Cloud9 development environment.
@required {environmentId: str}
@optional {name: str, description: str, managedCredentialsAction: str}

@endpoint POST /
@desc Changes the settings of an existing environment member for an Cloud9 development environment.
@required {environmentId: str, userArn: str, permissions: str}
@returns(200) {membership: EnvironmentMember?{permissions: str, userId: str, userArn: str, environmentId: str, lastAccess: str(timestamp)?}}

@end
