iam-floyd
Version:
AWS IAM policy statement generator with fluent interface
385 lines (384 loc) • 13.2 kB
TypeScript
import { AccessLevelList } from '../../shared/access-level';
import { PolicyStatement, Operator } from '../../shared';
/**
* Statement provider for service [outposts](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsoutposts.html).
*
* @param sid [SID](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_sid.html) of the statement
*/
export declare class Outposts extends PolicyStatement {
servicePrefix: string;
/**
* Statement provider for service [outposts](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsoutposts.html).
*
* @param sid [SID](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_sid.html) of the statement
*/
constructor(sid?: string);
/**
* Grants permission to cancel a capacity task
*
* Access Level: Write
*
* https://docs.aws.amazon.com/outposts/latest/APIReference/API_CancelCapacityTask.html
*/
toCancelCapacityTask(): this;
/**
* Grants permission to cancel an order
*
* Access Level: Write
*
* https://docs.aws.amazon.com/outposts/latest/APIReference/API_CancelOrder.html
*/
toCancelOrder(): this;
/**
* Grants permission to create an order
*
* Access Level: Write
*
* https://docs.aws.amazon.com/outposts/latest/APIReference/API_CreateOrder.html
*/
toCreateOrder(): this;
/**
* Grants permission to create an Outpost
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsRequestTag()
* - .ifAwsTagKeys()
*
* https://docs.aws.amazon.com/outposts/latest/APIReference/API_CreateOutpost.html
*/
toCreateOutpost(): this;
/**
* Grants permission to create a private connectivity configuration
*
* Access Level: Write
*
* https://docs.aws.amazon.com/outposts/latest/userguide/how-outposts-works.html#private-connectivity
*/
toCreatePrivateConnectivityConfig(): this;
/**
* Grants permission to create a site
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsRequestTag()
* - .ifAwsTagKeys()
*
* https://docs.aws.amazon.com/outposts/latest/APIReference/API_CreateSite.html
*/
toCreateSite(): this;
/**
* Grants permission to delete an Outpost
*
* Access Level: Write
*
* https://docs.aws.amazon.com/outposts/latest/APIReference/API_DeleteOutpost.html
*/
toDeleteOutpost(): this;
/**
* Grants permission to delete a site
*
* Access Level: Write
*
* https://docs.aws.amazon.com/outposts/latest/APIReference/API_DeleteSite.html
*/
toDeleteSite(): this;
/**
* Grants permission to get information about the specified capacity task
*
* Access Level: Read
*
* https://docs.aws.amazon.com/outposts/latest/APIReference/API_GetCapacityTask.html
*/
toGetCapacityTask(): this;
/**
* Grants permission to get a catalog item
*
* Access Level: Read
*
* https://docs.aws.amazon.com/outposts/latest/APIReference/API_GetCatalogItem.html
*/
toGetCatalogItem(): this;
/**
* Grants permission to get information about the connection for your Outpost server
*
* Access Level: Read
*
* https://docs.aws.amazon.com/outposts/latest/APIReference/API_GetConnection.html
*/
toGetConnection(): this;
/**
* Grants permission to get information about an order
*
* Access Level: Read
*
* https://docs.aws.amazon.com/outposts/latest/APIReference/API_GetOrder.html
*/
toGetOrder(): this;
/**
* Grants permission to get information about the specified Outpost
*
* Access Level: Read
*
* https://docs.aws.amazon.com/outposts/latest/APIReference/API_GetOutpost.html
*/
toGetOutpost(): this;
/**
* Grants permission to get the instance types for the specified Outpost
*
* Access Level: Read
*
* https://docs.aws.amazon.com/outposts/latest/APIReference/API_GetOutpostInstanceTypes.html
*/
toGetOutpostInstanceTypes(): this;
/**
* Grants permission to get the supported instance types for the specified Outpost
*
* Access Level: Read
*
* https://docs.aws.amazon.com/outposts/latest/APIReference/API_GetOutpostSupportedInstanceTypes.html
*/
toGetOutpostSupportedInstanceTypes(): this;
/**
* Grants permission to get a private connectivity configuration
*
* Access Level: Read
*
* https://docs.aws.amazon.com/outposts/latest/userguide/how-outposts-works.html#private-connectivity
*/
toGetPrivateConnectivityConfig(): this;
/**
* Grants permission to get a site
*
* Access Level: Read
*
* https://docs.aws.amazon.com/outposts/latest/APIReference/API_GetSite.html
*/
toGetSite(): this;
/**
* Grants permission to get a site address
*
* Access Level: Read
*
* https://docs.aws.amazon.com/outposts/latest/APIReference/API_GetSiteAddress.html
*/
toGetSiteAddress(): this;
/**
* Grants permission to list all running instances for the specified Outpost
*
* Access Level: List
*
* https://docs.aws.amazon.com/outposts/latest/APIReference/API_ListAssetInstances.html
*/
toListAssetInstances(): this;
/**
* Grants permission to list the assets for your Outpost
*
* Access Level: List
*
* https://docs.aws.amazon.com/outposts/latest/APIReference/API_ListAssets.html
*/
toListAssets(): this;
/**
* Grants permission to list all running instances that are blocking the capacity task from running for the specified Outpost
*
* Access Level: List
*
* https://docs.aws.amazon.com/outposts/latest/APIReference/API_ListBlockingInstancesForCapacityTask.html
*/
toListBlockingInstancesForCapacityTask(): this;
/**
* Grants permission to list the capacity tasks for your AWS account
*
* Access Level: List
*
* https://docs.aws.amazon.com/outposts/latest/APIReference/API_ListCapacityTasks.html
*/
toListCapacityTasks(): this;
/**
* Grants permission to list all catalog items
*
* Access Level: List
*
* https://docs.aws.amazon.com/outposts/latest/APIReference/API_ListCatalogItems.html
*/
toListCatalogItems(): this;
/**
* Grants permission to list the orders for your AWS account
*
* Access Level: List
*
* https://docs.aws.amazon.com/outposts/latest/APIReference/API_ListOrders.html
*/
toListOrders(): this;
/**
* Grants permission to list the Outposts for your AWS account
*
* Access Level: List
*
* https://docs.aws.amazon.com/outposts/latest/APIReference/API_ListOutposts.html
*/
toListOutposts(): this;
/**
* Grants permission to list the sites for your AWS account
*
* Access Level: List
*
* https://docs.aws.amazon.com/outposts/latest/APIReference/API_ListSites.html
*/
toListSites(): this;
/**
* Grants permission to list tags for a resource
*
* Access Level: Read
*
* https://docs.aws.amazon.com/outposts/latest/APIReference/API_ListTagsForResource.html
*/
toListTagsForResource(): this;
/**
* Grants permission to create a capacity task
*
* Access Level: Write
*
* https://docs.aws.amazon.com/outposts/latest/APIReference/API_StartCapacityTask.html
*/
toStartCapacityTask(): this;
/**
* Grants permission to start a connection for your Outpost server
*
* Access Level: Write
*
* https://docs.aws.amazon.com/outposts/latest/APIReference/API_StartConnection.html
*/
toStartConnection(): this;
/**
* Grants permission to tag a resource
*
* Access Level: Tagging
*
* Possible conditions:
* - .ifAwsRequestTag()
* - .ifAwsTagKeys()
*
* https://docs.aws.amazon.com/outposts/latest/APIReference/API_TagResource.html
*/
toTagResource(): this;
/**
* Grants permission to untag a resource
*
* Access Level: Tagging
*
* Possible conditions:
* - .ifAwsTagKeys()
*
* https://docs.aws.amazon.com/outposts/latest/APIReference/API_UntagResource.html
*/
toUntagResource(): this;
/**
* Grants permission to update an Outpost
*
* Access Level: Write
*
* https://docs.aws.amazon.com/outposts/latest/APIReference/API_UpdateOutpost.html
*/
toUpdateOutpost(): this;
/**
* Grants permission to update a site
*
* Access Level: Write
*
* https://docs.aws.amazon.com/outposts/latest/APIReference/API_UpdateSite.html
*/
toUpdateSite(): this;
/**
* Grants permission to update the site address
*
* Access Level: Write
*
* https://docs.aws.amazon.com/outposts/latest/APIReference/API_UpdateSiteAddress.html
*/
toUpdateSiteAddress(): this;
/**
* Grants permission to update the physical properties of a rack at a site
*
* Access Level: Write
*
* https://docs.aws.amazon.com/outposts/latest/APIReference/API_UpdateSiteRackPhysicalProperties.html
*/
toUpdateSiteRackPhysicalProperties(): this;
protected accessLevelList: AccessLevelList;
/**
* Adds a resource of type outpost to the statement
*
* https://docs.aws.amazon.com/outposts/latest/userguide/what-is-outposts.html
*
* @param outpostId - Identifier for the outpostId.
* @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account.
* @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region.
* @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition.
*
* Possible conditions:
* - .ifAwsResourceTag()
*/
onOutpost(outpostId: string, account?: string, region?: string, partition?: string): this;
/**
* Adds a resource of type site to the statement
*
* https://docs.aws.amazon.com/outposts/latest/userguide/what-is-outposts.html
*
* @param siteId - Identifier for the siteId.
* @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account.
* @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region.
* @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition.
*
* Possible conditions:
* - .ifAwsResourceTag()
*/
onSite(siteId: string, account?: string, region?: string, partition?: string): this;
/**
* Filters access by the tags that are passed in the request
*
* https://docs.aws.amazon.com/outposts/latest/userguide/identity-access-management.html
*
* Applies to actions:
* - .toCreateOutpost()
* - .toCreateSite()
* - .toTagResource()
*
* @param tagKey The tag key to check
* @param value The value(s) to check
* @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike`
*/
ifAwsRequestTag(tagKey: string, value: string | string[], operator?: Operator | string): this;
/**
* Filters access by the tags associated with the resource
*
* https://docs.aws.amazon.com/outposts/latest/userguide/identity-access-management.html
*
* Applies to resource types:
* - outpost
* - site
*
* @param tagKey The tag key to check
* @param value The value(s) to check
* @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike`
*/
ifAwsResourceTag(tagKey: string, value: string | string[], operator?: Operator | string): this;
/**
* Filters access by the tag keys that are passed in the request
*
* https://docs.aws.amazon.com/outposts/latest/userguide/identity-access-management.html
*
* Applies to actions:
* - .toCreateOutpost()
* - .toCreateSite()
* - .toTagResource()
* - .toUntagResource()
*
* @param value The value(s) to check
* @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike`
*/
ifAwsTagKeys(value: string | string[], operator?: Operator | string): this;
}