import { PermissionFeatureSet, PermissionStatus, PermissionType, PermissionTypeFilter, ReplacePermissionAssociationsWorkStatus, ResourceOwner, ResourceRegionScope, ResourceRegionScopeFilter, ResourceShareAssociationStatus, ResourceShareAssociationType, ResourceShareFeatureSet, ResourceShareInvitationStatus, ResourceShareStatus, ResourceStatus, } from "./enums"; export interface AcceptResourceShareInvitationRequest { resourceShareInvitationArn: string | undefined; clientToken?: string | undefined; } export interface ResourceShareAssociation { resourceShareArn?: string | undefined; resourceShareName?: string | undefined; associatedEntity?: string | undefined; associationType?: ResourceShareAssociationType | undefined; status?: ResourceShareAssociationStatus | undefined; statusMessage?: string | undefined; creationTime?: Date | undefined; lastUpdatedTime?: Date | undefined; external?: boolean | undefined; } export interface ResourceShareInvitation { resourceShareInvitationArn?: string | undefined; resourceShareName?: string | undefined; resourceShareArn?: string | undefined; senderAccountId?: string | undefined; receiverAccountId?: string | undefined; invitationTimestamp?: Date | undefined; status?: ResourceShareInvitationStatus | undefined; resourceShareAssociations?: ResourceShareAssociation[] | undefined; receiverArn?: string | undefined; } export interface AcceptResourceShareInvitationResponse { resourceShareInvitation?: ResourceShareInvitation | undefined; clientToken?: string | undefined; } export interface AssociateResourceShareRequest { resourceShareArn: string | undefined; resourceArns?: string[] | undefined; principals?: string[] | undefined; clientToken?: string | undefined; sources?: string[] | undefined; } export interface AssociateResourceShareResponse { resourceShareAssociations?: ResourceShareAssociation[] | undefined; clientToken?: string | undefined; } export interface AssociateResourceSharePermissionRequest { resourceShareArn: string | undefined; permissionArn: string | undefined; replace?: boolean | undefined; clientToken?: string | undefined; permissionVersion?: number | undefined; } export interface AssociateResourceSharePermissionResponse { returnValue?: boolean | undefined; clientToken?: string | undefined; } export interface Tag { key?: string | undefined; value?: string | undefined; } export interface CreatePermissionRequest { name: string | undefined; resourceType: string | undefined; policyTemplate: string | undefined; clientToken?: string | undefined; tags?: Tag[] | undefined; } export interface ResourceSharePermissionSummary { arn?: string | undefined; version?: string | undefined; defaultVersion?: boolean | undefined; name?: string | undefined; resourceType?: string | undefined; status?: string | undefined; creationTime?: Date | undefined; lastUpdatedTime?: Date | undefined; isResourceTypeDefault?: boolean | undefined; permissionType?: PermissionType | undefined; featureSet?: PermissionFeatureSet | undefined; tags?: Tag[] | undefined; } export interface CreatePermissionResponse { permission?: ResourceSharePermissionSummary | undefined; clientToken?: string | undefined; } export interface CreatePermissionVersionRequest { permissionArn: string | undefined; policyTemplate: string | undefined; clientToken?: string | undefined; } export interface ResourceSharePermissionDetail { arn?: string | undefined; version?: string | undefined; defaultVersion?: boolean | undefined; name?: string | undefined; resourceType?: string | undefined; permission?: string | undefined; creationTime?: Date | undefined; lastUpdatedTime?: Date | undefined; isResourceTypeDefault?: boolean | undefined; permissionType?: PermissionType | undefined; featureSet?: PermissionFeatureSet | undefined; status?: PermissionStatus | undefined; tags?: Tag[] | undefined; } export interface CreatePermissionVersionResponse { permission?: ResourceSharePermissionDetail | undefined; clientToken?: string | undefined; } export interface ResourceShareConfiguration { retainSharingOnAccountLeaveOrganization?: boolean | undefined; } export interface CreateResourceShareRequest { name: string | undefined; resourceArns?: string[] | undefined; principals?: string[] | undefined; tags?: Tag[] | undefined; allowExternalPrincipals?: boolean | undefined; clientToken?: string | undefined; permissionArns?: string[] | undefined; sources?: string[] | undefined; resourceShareConfiguration?: ResourceShareConfiguration | undefined; } export interface ResourceShare { resourceShareArn?: string | undefined; name?: string | undefined; owningAccountId?: string | undefined; allowExternalPrincipals?: boolean | undefined; status?: ResourceShareStatus | undefined; statusMessage?: string | undefined; tags?: Tag[] | undefined; creationTime?: Date | undefined; lastUpdatedTime?: Date | undefined; featureSet?: ResourceShareFeatureSet | undefined; resourceShareConfiguration?: ResourceShareConfiguration | undefined; } export interface CreateResourceShareResponse { resourceShare?: ResourceShare | undefined; clientToken?: string | undefined; } export interface DeletePermissionRequest { permissionArn: string | undefined; clientToken?: string | undefined; } export interface DeletePermissionResponse { returnValue?: boolean | undefined; clientToken?: string | undefined; permissionStatus?: PermissionStatus | undefined; } export interface DeletePermissionVersionRequest { permissionArn: string | undefined; permissionVersion: number | undefined; clientToken?: string | undefined; } export interface DeletePermissionVersionResponse { returnValue?: boolean | undefined; clientToken?: string | undefined; permissionStatus?: PermissionStatus | undefined; } export interface DeleteResourceShareRequest { resourceShareArn: string | undefined; clientToken?: string | undefined; } export interface DeleteResourceShareResponse { returnValue?: boolean | undefined; clientToken?: string | undefined; } export interface DisassociateResourceShareRequest { resourceShareArn: string | undefined; resourceArns?: string[] | undefined; principals?: string[] | undefined; clientToken?: string | undefined; sources?: string[] | undefined; } export interface DisassociateResourceShareResponse { resourceShareAssociations?: ResourceShareAssociation[] | undefined; clientToken?: string | undefined; } export interface DisassociateResourceSharePermissionRequest { resourceShareArn: string | undefined; permissionArn: string | undefined; clientToken?: string | undefined; } export interface DisassociateResourceSharePermissionResponse { returnValue?: boolean | undefined; clientToken?: string | undefined; } export interface EnableSharingWithAwsOrganizationRequest {} export interface EnableSharingWithAwsOrganizationResponse { returnValue?: boolean | undefined; } export interface GetPermissionRequest { permissionArn: string | undefined; permissionVersion?: number | undefined; } export interface GetPermissionResponse { permission?: ResourceSharePermissionDetail | undefined; } export interface GetResourcePoliciesRequest { resourceArns: string[] | undefined; principal?: string | undefined; nextToken?: string | undefined; maxResults?: number | undefined; } export interface GetResourcePoliciesResponse { policies?: string[] | undefined; nextToken?: string | undefined; } export interface GetResourceShareAssociationsRequest { associationType: ResourceShareAssociationType | undefined; resourceShareArns?: string[] | undefined; resourceArn?: string | undefined; principal?: string | undefined; associationStatus?: ResourceShareAssociationStatus | undefined; nextToken?: string | undefined; maxResults?: number | undefined; } export interface GetResourceShareAssociationsResponse { resourceShareAssociations?: ResourceShareAssociation[] | undefined; nextToken?: string | undefined; } export interface GetResourceShareInvitationsRequest { resourceShareInvitationArns?: string[] | undefined; resourceShareArns?: string[] | undefined; nextToken?: string | undefined; maxResults?: number | undefined; } export interface GetResourceShareInvitationsResponse { resourceShareInvitations?: ResourceShareInvitation[] | undefined; nextToken?: string | undefined; } export interface TagFilter { tagKey?: string | undefined; tagValues?: string[] | undefined; } export interface GetResourceSharesRequest { resourceShareArns?: string[] | undefined; resourceShareStatus?: ResourceShareStatus | undefined; resourceOwner: ResourceOwner | undefined; name?: string | undefined; tagFilters?: TagFilter[] | undefined; nextToken?: string | undefined; maxResults?: number | undefined; permissionArn?: string | undefined; permissionVersion?: number | undefined; } export interface GetResourceSharesResponse { resourceShares?: ResourceShare[] | undefined; nextToken?: string | undefined; } export interface ListPendingInvitationResourcesRequest { resourceShareInvitationArn: string | undefined; nextToken?: string | undefined; maxResults?: number | undefined; resourceRegionScope?: ResourceRegionScopeFilter | undefined; } export interface Resource { arn?: string | undefined; type?: string | undefined; resourceShareArn?: string | undefined; resourceGroupArn?: string | undefined; status?: ResourceStatus | undefined; statusMessage?: string | undefined; creationTime?: Date | undefined; lastUpdatedTime?: Date | undefined; resourceRegionScope?: ResourceRegionScope | undefined; } export interface ListPendingInvitationResourcesResponse { resources?: Resource[] | undefined; nextToken?: string | undefined; } export interface ListPermissionAssociationsRequest { permissionArn?: string | undefined; permissionVersion?: number | undefined; associationStatus?: ResourceShareAssociationStatus | undefined; resourceType?: string | undefined; featureSet?: PermissionFeatureSet | undefined; defaultVersion?: boolean | undefined; nextToken?: string | undefined; maxResults?: number | undefined; } export interface AssociatedPermission { arn?: string | undefined; permissionVersion?: string | undefined; defaultVersion?: boolean | undefined; resourceType?: string | undefined; status?: string | undefined; featureSet?: PermissionFeatureSet | undefined; lastUpdatedTime?: Date | undefined; resourceShareArn?: string | undefined; } export interface ListPermissionAssociationsResponse { permissions?: AssociatedPermission[] | undefined; nextToken?: string | undefined; } export interface ListPermissionsRequest { resourceType?: string | undefined; nextToken?: string | undefined; maxResults?: number | undefined; permissionType?: PermissionTypeFilter | undefined; } export interface ListPermissionsResponse { permissions?: ResourceSharePermissionSummary[] | undefined; nextToken?: string | undefined; } export interface ListPermissionVersionsRequest { permissionArn: string | undefined; nextToken?: string | undefined; maxResults?: number | undefined; } export interface ListPermissionVersionsResponse { permissions?: ResourceSharePermissionSummary[] | undefined; nextToken?: string | undefined; } export interface ListPrincipalsRequest { resourceOwner: ResourceOwner | undefined; resourceArn?: string | undefined; principals?: string[] | undefined; resourceType?: string | undefined; resourceShareArns?: string[] | undefined; nextToken?: string | undefined; maxResults?: number | undefined; } export interface Principal { id?: string | undefined; resourceShareArn?: string | undefined; creationTime?: Date | undefined; lastUpdatedTime?: Date | undefined; external?: boolean | undefined; } export interface ListPrincipalsResponse { principals?: Principal[] | undefined; nextToken?: string | undefined; } export interface ListReplacePermissionAssociationsWorkRequest { workIds?: string[] | undefined; status?: ReplacePermissionAssociationsWorkStatus | undefined; nextToken?: string | undefined; maxResults?: number | undefined; } export interface ReplacePermissionAssociationsWork { id?: string | undefined; fromPermissionArn?: string | undefined; fromPermissionVersion?: string | undefined; toPermissionArn?: string | undefined; toPermissionVersion?: string | undefined; status?: ReplacePermissionAssociationsWorkStatus | undefined; statusMessage?: string | undefined; creationTime?: Date | undefined; lastUpdatedTime?: Date | undefined; } export interface ListReplacePermissionAssociationsWorkResponse { replacePermissionAssociationsWorks?: ReplacePermissionAssociationsWork[] | undefined; nextToken?: string | undefined; } export interface ListResourcesRequest { resourceOwner: ResourceOwner | undefined; principal?: string | undefined; resourceType?: string | undefined; resourceArns?: string[] | undefined; resourceShareArns?: string[] | undefined; nextToken?: string | undefined; maxResults?: number | undefined; resourceRegionScope?: ResourceRegionScopeFilter | undefined; } export interface ListResourcesResponse { resources?: Resource[] | undefined; nextToken?: string | undefined; } export interface ListResourceSharePermissionsRequest { resourceShareArn: string | undefined; nextToken?: string | undefined; maxResults?: number | undefined; } export interface ListResourceSharePermissionsResponse { permissions?: ResourceSharePermissionSummary[] | undefined; nextToken?: string | undefined; } export interface ListResourceTypesRequest { nextToken?: string | undefined; maxResults?: number | undefined; resourceRegionScope?: ResourceRegionScopeFilter | undefined; } export interface ServiceNameAndResourceType { resourceType?: string | undefined; serviceName?: string | undefined; resourceRegionScope?: ResourceRegionScope | undefined; } export interface ListResourceTypesResponse { resourceTypes?: ServiceNameAndResourceType[] | undefined; nextToken?: string | undefined; } export interface ListSourceAssociationsRequest { resourceShareArns?: string[] | undefined; sourceId?: string | undefined; sourceType?: string | undefined; associationStatus?: ResourceShareAssociationStatus | undefined; nextToken?: string | undefined; maxResults?: number | undefined; } export interface AssociatedSource { resourceShareArn?: string | undefined; sourceId?: string | undefined; sourceType?: string | undefined; status?: string | undefined; lastUpdatedTime?: Date | undefined; creationTime?: Date | undefined; statusMessage?: string | undefined; } export interface ListSourceAssociationsResponse { sourceAssociations?: AssociatedSource[] | undefined; nextToken?: string | undefined; } export interface PromotePermissionCreatedFromPolicyRequest { permissionArn: string | undefined; name: string | undefined; clientToken?: string | undefined; } export interface PromotePermissionCreatedFromPolicyResponse { permission?: ResourceSharePermissionSummary | undefined; clientToken?: string | undefined; } export interface PromoteResourceShareCreatedFromPolicyRequest { resourceShareArn: string | undefined; } export interface PromoteResourceShareCreatedFromPolicyResponse { returnValue?: boolean | undefined; } export interface RejectResourceShareInvitationRequest { resourceShareInvitationArn: string | undefined; clientToken?: string | undefined; } export interface RejectResourceShareInvitationResponse { resourceShareInvitation?: ResourceShareInvitation | undefined; clientToken?: string | undefined; } export interface ReplacePermissionAssociationsRequest { fromPermissionArn: string | undefined; fromPermissionVersion?: number | undefined; toPermissionArn: string | undefined; clientToken?: string | undefined; } export interface ReplacePermissionAssociationsResponse { replacePermissionAssociationsWork?: ReplacePermissionAssociationsWork | undefined; clientToken?: string | undefined; } export interface SetDefaultPermissionVersionRequest { permissionArn: string | undefined; permissionVersion: number | undefined; clientToken?: string | undefined; } export interface SetDefaultPermissionVersionResponse { returnValue?: boolean | undefined; clientToken?: string | undefined; } export interface TagResourceRequest { resourceShareArn?: string | undefined; tags: Tag[] | undefined; resourceArn?: string | undefined; } export interface TagResourceResponse {} export interface UntagResourceRequest { resourceShareArn?: string | undefined; tagKeys: string[] | undefined; resourceArn?: string | undefined; } export interface UntagResourceResponse {} export interface UpdateResourceShareRequest { resourceShareArn: string | undefined; name?: string | undefined; allowExternalPrincipals?: boolean | undefined; clientToken?: string | undefined; } export interface UpdateResourceShareResponse { resourceShare?: ResourceShare | undefined; clientToken?: string | undefined; }