@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api AWS Resource Access Manager
@version 2018-01-04
@auth AWS SigV4
@endpoints 34
@hint download_for_search
@toc acceptresourceshareinvitation(1), associateresourceshare(1), associateresourcesharepermission(1), createpermission(1), createpermissionversion(1), createresourceshare(1), deletepermission(1), deletepermissionversion(1), deleteresourceshare(1), disassociateresourceshare(1), disassociateresourcesharepermission(1), enablesharingwithawsorganization(1), getpermission(1), getresourcepolicies(1), getresourceshareassociations(1), getresourceshareinvitations(1), getresourceshares(1), listpendinginvitationresources(1), listpermissionassociations(1), listpermissionversions(1), listpermissions(1), listprincipals(1), listreplacepermissionassociationswork(1), listresourcesharepermissions(1), listresourcetypes(1), listresources(1), promotepermissioncreatedfrompolicy(1), promoteresourcesharecreatedfrompolicy(1), rejectresourceshareinvitation(1), replacepermissionassociations(1), setdefaultpermissionversion(1), tagresource(1), untagresource(1), updateresourceshare(1)

@group acceptresourceshareinvitation
@endpoint POST /acceptresourceshareinvitation
@required {resourceShareInvitationArn: str}
@optional {clientToken: str}
@returns(200) {resourceShareInvitation: ResourceShareInvitation?{resourceShareInvitationArn: str?, resourceShareName: str?, resourceShareArn: str?, senderAccountId: str?, receiverAccountId: str?, invitationTimestamp: str(timestamp)?, status: str?, resourceShareAssociations: [ResourceShareAssociation]?, receiverArn: str?}, clientToken: str?}

@endgroup

@group associateresourceshare
@endpoint POST /associateresourceshare
@required {resourceShareArn: str}
@optional {resourceArns: [str], principals: [str], clientToken: str, sources: [str]}
@returns(200) {resourceShareAssociations: [ResourceShareAssociation]?, clientToken: str?}

@endgroup

@group associateresourcesharepermission
@endpoint POST /associateresourcesharepermission
@required {resourceShareArn: str, permissionArn: str}
@optional {replace: bool, clientToken: str, permissionVersion: int}
@returns(200) {returnValue: bool?, clientToken: str?}

@endgroup

@group createpermission
@endpoint POST /createpermission
@required {name: str, resourceType: str, policyTemplate: str}
@optional {clientToken: str, tags: [Tag]}
@returns(200) {permission: ResourceSharePermissionSummary?{arn: str?, version: str?, defaultVersion: bool?, name: str?, resourceType: str?, status: str?, creationTime: str(timestamp)?, lastUpdatedTime: str(timestamp)?, isResourceTypeDefault: bool?, permissionType: str?, featureSet: str?, tags: [Tag]?}, clientToken: str?}

@endgroup

@group createpermissionversion
@endpoint POST /createpermissionversion
@required {permissionArn: str, policyTemplate: str}
@optional {clientToken: str}
@returns(200) {permission: ResourceSharePermissionDetail?{arn: str?, version: str?, defaultVersion: bool?, name: str?, resourceType: str?, permission: str?, creationTime: str(timestamp)?, lastUpdatedTime: str(timestamp)?, isResourceTypeDefault: bool?, permissionType: str?, featureSet: str?, status: str?, tags: [Tag]?}, clientToken: str?}

@endgroup

@group createresourceshare
@endpoint POST /createresourceshare
@required {name: str}
@optional {resourceArns: [str], principals: [str], tags: [Tag], allowExternalPrincipals: bool, clientToken: str, permissionArns: [str], sources: [str]}
@returns(200) {resourceShare: ResourceShare?{resourceShareArn: str?, name: str?, owningAccountId: str?, allowExternalPrincipals: bool?, status: str?, statusMessage: str?, tags: [Tag]?, creationTime: str(timestamp)?, lastUpdatedTime: str(timestamp)?, featureSet: str?}, clientToken: str?}

@endgroup

@group deletepermission
@endpoint DELETE /deletepermission
@required {permissionArn: str}
@optional {clientToken: str}
@returns(200) {returnValue: bool?, clientToken: str?, permissionStatus: str?}

@endgroup

@group deletepermissionversion
@endpoint DELETE /deletepermissionversion
@required {permissionArn: str, permissionVersion: int}
@optional {clientToken: str}
@returns(200) {returnValue: bool?, clientToken: str?, permissionStatus: str?}

@endgroup

@group deleteresourceshare
@endpoint DELETE /deleteresourceshare
@required {resourceShareArn: str}
@optional {clientToken: str}
@returns(200) {returnValue: bool?, clientToken: str?}

@endgroup

@group disassociateresourceshare
@endpoint POST /disassociateresourceshare
@required {resourceShareArn: str}
@optional {resourceArns: [str], principals: [str], clientToken: str, sources: [str]}
@returns(200) {resourceShareAssociations: [ResourceShareAssociation]?, clientToken: str?}

@endgroup

@group disassociateresourcesharepermission
@endpoint POST /disassociateresourcesharepermission
@required {resourceShareArn: str, permissionArn: str}
@optional {clientToken: str}
@returns(200) {returnValue: bool?, clientToken: str?}

@endgroup

@group enablesharingwithawsorganization
@endpoint POST /enablesharingwithawsorganization
@returns(200) {returnValue: bool?}

@endgroup

@group getpermission
@endpoint POST /getpermission
@required {permissionArn: str}
@optional {permissionVersion: int}
@returns(200) {permission: ResourceSharePermissionDetail?{arn: str?, version: str?, defaultVersion: bool?, name: str?, resourceType: str?, permission: str?, creationTime: str(timestamp)?, lastUpdatedTime: str(timestamp)?, isResourceTypeDefault: bool?, permissionType: str?, featureSet: str?, status: str?, tags: [Tag]?}}

@endgroup

@group getresourcepolicies
@endpoint POST /getresourcepolicies
@required {resourceArns: [str]}
@optional {principal: str, nextToken: str, maxResults: int}
@returns(200) {policies: [str]?, nextToken: str?}

@endgroup

@group getresourceshareassociations
@endpoint POST /getresourceshareassociations
@required {associationType: str}
@optional {resourceShareArns: [str], resourceArn: str, principal: str, associationStatus: str, nextToken: str, maxResults: int}
@returns(200) {resourceShareAssociations: [ResourceShareAssociation]?, nextToken: str?}

@endgroup

@group getresourceshareinvitations
@endpoint POST /getresourceshareinvitations
@optional {resourceShareInvitationArns: [str], resourceShareArns: [str], nextToken: str, maxResults: int}
@returns(200) {resourceShareInvitations: [ResourceShareInvitation]?, nextToken: str?}

@endgroup

@group getresourceshares
@endpoint POST /getresourceshares
@required {resourceOwner: str}
@optional {resourceShareArns: [str], resourceShareStatus: str, name: str, tagFilters: [TagFilter], nextToken: str, maxResults: int, permissionArn: str, permissionVersion: int}
@returns(200) {resourceShares: [ResourceShare]?, nextToken: str?}

@endgroup

@group listpendinginvitationresources
@endpoint POST /listpendinginvitationresources
@required {resourceShareInvitationArn: str}
@optional {nextToken: str, maxResults: int, resourceRegionScope: str}
@returns(200) {resources: [Resource]?, nextToken: str?}

@endgroup

@group listpermissionassociations
@endpoint POST /listpermissionassociations
@optional {permissionArn: str, permissionVersion: int, associationStatus: str, resourceType: str, featureSet: str, defaultVersion: bool, nextToken: str, maxResults: int}
@returns(200) {permissions: [AssociatedPermission]?, nextToken: str?}

@endgroup

@group listpermissionversions
@endpoint POST /listpermissionversions
@required {permissionArn: str}
@optional {nextToken: str, maxResults: int}
@returns(200) {permissions: [ResourceSharePermissionSummary]?, nextToken: str?}

@endgroup

@group listpermissions
@endpoint POST /listpermissions
@optional {resourceType: str, nextToken: str, maxResults: int, permissionType: str}
@returns(200) {permissions: [ResourceSharePermissionSummary]?, nextToken: str?}

@endgroup

@group listprincipals
@endpoint POST /listprincipals
@required {resourceOwner: str}
@optional {resourceArn: str, principals: [str], resourceType: str, resourceShareArns: [str], nextToken: str, maxResults: int}
@returns(200) {principals: [Principal]?, nextToken: str?}

@endgroup

@group listreplacepermissionassociationswork
@endpoint POST /listreplacepermissionassociationswork
@optional {workIds: [str], status: str, nextToken: str, maxResults: int}
@returns(200) {replacePermissionAssociationsWorks: [ReplacePermissionAssociationsWork]?, nextToken: str?}

@endgroup

@group listresourcesharepermissions
@endpoint POST /listresourcesharepermissions
@required {resourceShareArn: str}
@optional {nextToken: str, maxResults: int}
@returns(200) {permissions: [ResourceSharePermissionSummary]?, nextToken: str?}

@endgroup

@group listresourcetypes
@endpoint POST /listresourcetypes
@optional {nextToken: str, maxResults: int, resourceRegionScope: str}
@returns(200) {resourceTypes: [ServiceNameAndResourceType]?, nextToken: str?}

@endgroup

@group listresources
@endpoint POST /listresources
@required {resourceOwner: str}
@optional {principal: str, resourceType: str, resourceArns: [str], resourceShareArns: [str], nextToken: str, maxResults: int, resourceRegionScope: str}
@returns(200) {resources: [Resource]?, nextToken: str?}

@endgroup

@group promotepermissioncreatedfrompolicy
@endpoint POST /promotepermissioncreatedfrompolicy
@required {permissionArn: str, name: str}
@optional {clientToken: str}
@returns(200) {permission: ResourceSharePermissionSummary?{arn: str?, version: str?, defaultVersion: bool?, name: str?, resourceType: str?, status: str?, creationTime: str(timestamp)?, lastUpdatedTime: str(timestamp)?, isResourceTypeDefault: bool?, permissionType: str?, featureSet: str?, tags: [Tag]?}, clientToken: str?}

@endgroup

@group promoteresourcesharecreatedfrompolicy
@endpoint POST /promoteresourcesharecreatedfrompolicy
@required {resourceShareArn: str}
@returns(200) {returnValue: bool?}

@endgroup

@group rejectresourceshareinvitation
@endpoint POST /rejectresourceshareinvitation
@required {resourceShareInvitationArn: str}
@optional {clientToken: str}
@returns(200) {resourceShareInvitation: ResourceShareInvitation?{resourceShareInvitationArn: str?, resourceShareName: str?, resourceShareArn: str?, senderAccountId: str?, receiverAccountId: str?, invitationTimestamp: str(timestamp)?, status: str?, resourceShareAssociations: [ResourceShareAssociation]?, receiverArn: str?}, clientToken: str?}

@endgroup

@group replacepermissionassociations
@endpoint POST /replacepermissionassociations
@required {fromPermissionArn: str, toPermissionArn: str}
@optional {fromPermissionVersion: int, clientToken: str}
@returns(200) {replacePermissionAssociationsWork: ReplacePermissionAssociationsWork?{id: str?, fromPermissionArn: str?, fromPermissionVersion: str?, toPermissionArn: str?, toPermissionVersion: str?, status: str?, statusMessage: str?, creationTime: str(timestamp)?, lastUpdatedTime: str(timestamp)?}, clientToken: str?}

@endgroup

@group setdefaultpermissionversion
@endpoint POST /setdefaultpermissionversion
@required {permissionArn: str, permissionVersion: int}
@optional {clientToken: str}
@returns(200) {returnValue: bool?, clientToken: str?}

@endgroup

@group tagresource
@endpoint POST /tagresource
@required {tags: [Tag]}
@optional {resourceShareArn: str, resourceArn: str}

@endgroup

@group untagresource
@endpoint POST /untagresource
@required {tagKeys: [str]}
@optional {resourceShareArn: str, resourceArn: str}

@endgroup

@group updateresourceshare
@endpoint POST /updateresourceshare
@required {resourceShareArn: str}
@optional {name: str, allowExternalPrincipals: bool, clientToken: str}
@returns(200) {resourceShare: ResourceShare?{resourceShareArn: str?, name: str?, owningAccountId: str?, allowExternalPrincipals: bool?, status: str?, statusMessage: str?, tags: [Tag]?, creationTime: str(timestamp)?, lastUpdatedTime: str(timestamp)?, featureSet: str?}, clientToken: str?}

@endgroup

@end
