@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api AWS Resource Groups
@version 2017-11-27
@auth AWS SigV4
@endpoints 18
@toc groups(1), delete-group(1), get-account-settings(1), get-group(1), get-group-configuration(1), get-group-query(1), resources(4), group-resources(1), list-group-resources(1), groups-list(1), put-group-configuration(1), ungroup-resources(1), update-account-settings(1), update-group(1), update-group-query(1)

@group groups
@endpoint POST /groups
@required {Name: str}
@optional {Description: str, ResourceQuery: ResourceQuery, Tags: map<str,str>, Configuration: [GroupConfigurationItem]}
@returns(200) {Group: Group?{GroupArn: str, Name: str, Description: str?}, ResourceQuery: ResourceQuery?{Type: str, Query: str}, Tags: map<str,str>?, GroupConfiguration: GroupConfiguration?{Configuration: [GroupConfigurationItem]?, ProposedConfiguration: [GroupConfigurationItem]?, Status: str?, FailureReason: str?}}

@endgroup

@group delete-group
@endpoint POST /delete-group
@optional {GroupName: str, Group: str}
@returns(200) {Group: Group?{GroupArn: str, Name: str, Description: str?}}

@endgroup

@group get-account-settings
@endpoint POST /get-account-settings
@returns(200) {AccountSettings: AccountSettings?{GroupLifecycleEventsDesiredStatus: str?, GroupLifecycleEventsStatus: str?, GroupLifecycleEventsStatusMessage: str?}}

@endgroup

@group get-group
@endpoint POST /get-group
@optional {GroupName: str, Group: str}
@returns(200) {Group: Group?{GroupArn: str, Name: str, Description: str?}}

@endgroup

@group get-group-configuration
@endpoint POST /get-group-configuration
@optional {Group: str}
@returns(200) {GroupConfiguration: GroupConfiguration?{Configuration: [GroupConfigurationItem]?, ProposedConfiguration: [GroupConfigurationItem]?, Status: str?, FailureReason: str?}}

@endgroup

@group get-group-query
@endpoint POST /get-group-query
@optional {GroupName: str, Group: str}
@returns(200) {GroupQuery: GroupQuery?{GroupName: str, ResourceQuery: ResourceQuery{Type: str, Query: str}}}

@endgroup

@group resources
@endpoint GET /resources/{Arn}/tags
@required {Arn: str}
@returns(200) {Arn: str?, Tags: map<str,str>?}

@endgroup

@group group-resources
@endpoint POST /group-resources
@required {Group: str, ResourceArns: [str]}
@returns(200) {Succeeded: [str]?, Failed: [FailedResource]?, Pending: [PendingResource]?}

@endgroup

@group list-group-resources
@endpoint POST /list-group-resources
@optional {GroupName: str, Group: str, Filters: [ResourceFilter], MaxResults: int, NextToken: str}
@returns(200) {Resources: [ListGroupResourcesItem]?, ResourceIdentifiers: [ResourceIdentifier]?, NextToken: str?, QueryErrors: [QueryError]?}

@endgroup

@group groups-list
@endpoint POST /groups-list
@optional {maxResults: int, nextToken: str, Filters: [GroupFilter]}
@returns(200) {GroupIdentifiers: [GroupIdentifier]?, Groups: [Group]?, NextToken: str?}

@endgroup

@group put-group-configuration
@endpoint POST /put-group-configuration
@optional {Group: str, Configuration: [GroupConfigurationItem]}

@endgroup

@group resources
@endpoint POST /resources/search
@required {ResourceQuery: ResourceQuery}
@optional {MaxResults: int, NextToken: str}
@returns(200) {ResourceIdentifiers: [ResourceIdentifier]?, NextToken: str?, QueryErrors: [QueryError]?}

@endpoint PUT /resources/{Arn}/tags
@required {Arn: str, Tags: map<str,str>}
@returns(200) {Arn: str?, Tags: map<str,str>?}

@endgroup

@group ungroup-resources
@endpoint POST /ungroup-resources
@required {Group: str, ResourceArns: [str]}
@returns(200) {Succeeded: [str]?, Failed: [FailedResource]?, Pending: [PendingResource]?}

@endgroup

@group resources
@endpoint PATCH /resources/{Arn}/tags
@required {Arn: str, Keys: [str]}
@returns(200) {Arn: str?, Keys: [str]?}

@endgroup

@group update-account-settings
@endpoint POST /update-account-settings
@optional {GroupLifecycleEventsDesiredStatus: str}
@returns(200) {AccountSettings: AccountSettings?{GroupLifecycleEventsDesiredStatus: str?, GroupLifecycleEventsStatus: str?, GroupLifecycleEventsStatusMessage: str?}}

@endgroup

@group update-group
@endpoint POST /update-group
@optional {GroupName: str, Group: str, Description: str}
@returns(200) {Group: Group?{GroupArn: str, Name: str, Description: str?}}

@endgroup

@group update-group-query
@endpoint POST /update-group-query
@required {ResourceQuery: ResourceQuery}
@optional {GroupName: str, Group: str}
@returns(200) {GroupQuery: GroupQuery?{GroupName: str, ResourceQuery: ResourceQuery{Type: str, Query: str}}}

@endgroup

@end
