iam-floyd
Version:
AWS IAM policy statement generator with fluent interface
1,275 lines • 124 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Appstream = void 0;
const shared_1 = require("../../shared");
/**
* Statement provider for service [appstream](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonappstream2.0.html).
*
* @param sid [SID](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_sid.html) of the statement
*/
class Appstream extends shared_1.PolicyStatement {
/**
* Statement provider for service [appstream](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonappstream2.0.html).
*
* @param sid [SID](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_sid.html) of the statement
*/
constructor(sid) {
super(sid);
this.servicePrefix = 'appstream';
this.accessLevelList = {
Write: [
'AssociateAppBlockBuilderAppBlock',
'AssociateApplicationFleet',
'AssociateApplicationToEntitlement',
'AssociateFleet',
'BatchAssociateUserStack',
'BatchDisassociateUserStack',
'CopyImage',
'CreateAppBlock',
'CreateAppBlockBuilder',
'CreateAppBlockBuilderStreamingURL',
'CreateApplication',
'CreateDirectoryConfig',
'CreateEntitlement',
'CreateFleet',
'CreateImageBuilder',
'CreateImageBuilderStreamingURL',
'CreateStack',
'CreateStreamingURL',
'CreateThemeForStack',
'CreateUpdatedImage',
'CreateUsageReportSubscription',
'CreateUser',
'DeleteAppBlock',
'DeleteAppBlockBuilder',
'DeleteApplication',
'DeleteDirectoryConfig',
'DeleteEntitlement',
'DeleteFleet',
'DeleteImage',
'DeleteImageBuilder',
'DeleteImagePermissions',
'DeleteStack',
'DeleteThemeForStack',
'DeleteUsageReportSubscription',
'DeleteUser',
'DisableUser',
'DisassociateAppBlockBuilderAppBlock',
'DisassociateApplicationFleet',
'DisassociateApplicationFromEntitlement',
'DisassociateFleet',
'EnableUser',
'ExpireSession',
'StartAppBlockBuilder',
'StartFleet',
'StartImageBuilder',
'StopAppBlockBuilder',
'StopFleet',
'StopImageBuilder',
'Stream',
'UpdateAppBlockBuilder',
'UpdateApplication',
'UpdateDirectoryConfig',
'UpdateEntitlement',
'UpdateFleet',
'UpdateImagePermissions',
'UpdateStack',
'UpdateThemeForStack'
],
Read: [
'DescribeAppBlockBuilderAppBlockAssociations',
'DescribeAppBlockBuilders',
'DescribeAppBlocks',
'DescribeApplicationFleetAssociations',
'DescribeApplications',
'DescribeDirectoryConfigs',
'DescribeEntitlements',
'DescribeFleets',
'DescribeImageBuilders',
'DescribeImagePermissions',
'DescribeImages',
'DescribeSessions',
'DescribeStacks',
'DescribeThemeForStack',
'DescribeUsageReportSubscriptions',
'DescribeUserStackAssociations',
'DescribeUsers',
'ListAssociatedFleets',
'ListAssociatedStacks',
'ListTagsForResource'
],
List: [
'ListEntitledApplications'
],
Tagging: [
'TagResource',
'UntagResource'
]
};
}
/**
* Grants permission to associate the specified app block builder with the app block
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsResourceTag()
*
* https://docs.aws.amazon.com/appstream2/latest/APIReference/API_AssociateAppBlockBuilderAppBlock.html
*/
toAssociateAppBlockBuilderAppBlock() {
return this.to('AssociateAppBlockBuilderAppBlock');
}
/**
* Grants permission to associate the specified application with the fleet
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsResourceTag()
*
* https://docs.aws.amazon.com/appstream2/latest/APIReference/API_AssociateApplicationFleet.html
*/
toAssociateApplicationFleet() {
return this.to('AssociateApplicationFleet');
}
/**
* Grants permission to associate the specified application to the specified entitlement
*
* Access Level: Write
*
* https://docs.aws.amazon.com/appstream2/latest/APIReference/API_AssociateApplicationToEntitlement.html
*/
toAssociateApplicationToEntitlement() {
return this.to('AssociateApplicationToEntitlement');
}
/**
* Grants permission to associate the specified fleet with the specified stack
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsResourceTag()
*
* https://docs.aws.amazon.com/appstream2/latest/APIReference/API_AssociateFleet.html
*/
toAssociateFleet() {
return this.to('AssociateFleet');
}
/**
* Grants permission to associate the specified users with the specified stacks. Users in a user pool cannot be assigned to stacks with fleets that are joined to an Active Directory domain
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsResourceTag()
*
* https://docs.aws.amazon.com/appstream2/latest/APIReference/API_BatchAssociateUserStack.html
*/
toBatchAssociateUserStack() {
return this.to('BatchAssociateUserStack');
}
/**
* Grants permission to disassociate the specified users from the specified stacks
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsResourceTag()
*
* https://docs.aws.amazon.com/appstream2/latest/APIReference/API_BatchDisassociateUserStack.html
*/
toBatchDisassociateUserStack() {
return this.to('BatchDisassociateUserStack');
}
/**
* Grants permission to copy the specified image within the same Region or to a new Region within the same AWS account
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsResourceTag()
*
* https://docs.aws.amazon.com/appstream2/latest/APIReference/API_CopyImage.html
*/
toCopyImage() {
return this.to('CopyImage');
}
/**
* Grants permission to create an app block. App blocks store details about the virtual hard disk that contains the files for the application in an S3 bucket. It also stores the setup script with details about how to mount the virtual hard disk. App blocks are only supported for Elastic fleets
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsRequestTag()
* - .ifAwsResourceTag()
* - .ifAwsTagKeys()
*
* https://docs.aws.amazon.com/appstream2/latest/APIReference/API_CreateAppBlock.html
*/
toCreateAppBlock() {
return this.to('CreateAppBlock');
}
/**
* Grants permission to create an app block builder. An app block builder is a virtual machine that is used to create an app block
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsRequestTag()
* - .ifAwsTagKeys()
*
* https://docs.aws.amazon.com/appstream2/latest/APIReference/API_CreateAppBlockBuilder.html
*/
toCreateAppBlockBuilder() {
return this.to('CreateAppBlockBuilder');
}
/**
* Grants permission to create a URL to start an app block builder streaming session
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsResourceTag()
*
* https://docs.aws.amazon.com/appstream2/latest/APIReference/API_CreateAppBlockBuilderStreamingURL.html
*/
toCreateAppBlockBuilderStreamingURL() {
return this.to('CreateAppBlockBuilderStreamingURL');
}
/**
* Grants permission to create an application within customer account. Applications store the details about how to launch applications on streaming instances. This is only supported for Elastic fleets
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsRequestTag()
* - .ifAwsResourceTag()
* - .ifAwsTagKeys()
*
* https://docs.aws.amazon.com/appstream2/latest/APIReference/API_CreateApplication.html
*/
toCreateApplication() {
return this.to('CreateApplication');
}
/**
* Grants permission to create a Directory Config object in AppStream 2.0. This object includes the configuration information required to join fleets and image builders to Microsoft Active Directory domains
*
* Access Level: Write
*
* https://docs.aws.amazon.com/appstream2/latest/APIReference/API_CreateDirectoryConfig.html
*/
toCreateDirectoryConfig() {
return this.to('CreateDirectoryConfig');
}
/**
* Grants permission to create an entitlement to control access to applications based on user attributes
*
* Access Level: Write
*
* https://docs.aws.amazon.com/appstream2/latest/APIReference/API_CreateEntitlement.html
*/
toCreateEntitlement() {
return this.to('CreateEntitlement');
}
/**
* Grants permission to create a fleet. A fleet is a group of streaming instances from which applications are launched and streamed to users
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsRequestTag()
* - .ifAwsTagKeys()
*
* https://docs.aws.amazon.com/appstream2/latest/APIReference/API_CreateFleet.html
*/
toCreateFleet() {
return this.to('CreateFleet');
}
/**
* Grants permission to create an image builder. An image builder is a virtual machine that is used to create an image
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsRequestTag()
* - .ifAwsTagKeys()
*
* https://docs.aws.amazon.com/appstream2/latest/APIReference/API_CreateImageBuilder.html
*/
toCreateImageBuilder() {
return this.to('CreateImageBuilder');
}
/**
* Grants permission to create a URL to start an image builder streaming session
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsResourceTag()
*
* https://docs.aws.amazon.com/appstream2/latest/APIReference/API_CreateImageBuilderStreamingURL.html
*/
toCreateImageBuilderStreamingURL() {
return this.to('CreateImageBuilderStreamingURL');
}
/**
* Grants permission to create a stack to start streaming applications to users. A stack consists of an associated fleet, user access policies, and storage configurations
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsRequestTag()
* - .ifAwsTagKeys()
*
* https://docs.aws.amazon.com/appstream2/latest/APIReference/API_CreateStack.html
*/
toCreateStack() {
return this.to('CreateStack');
}
/**
* Grants permission to create a temporary URL to start an AppStream 2.0 streaming session for the specified user. A streaming URL enables application streaming to be tested without user setup
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsResourceTag()
*
* https://docs.aws.amazon.com/appstream2/latest/APIReference/API_CreateStreamingURL.html
*/
toCreateStreamingURL() {
return this.to('CreateStreamingURL');
}
/**
* Grants permission to create a custom branding theme, which might includes a custom logo, website links, and other branding to display to your users
*
* Access Level: Write
*
* https://docs.aws.amazon.com/appstream2/latest/APIReference/API_CreateThemeForStack.html
*/
toCreateThemeForStack() {
return this.to('CreateThemeForStack');
}
/**
* Grants permission to update an existing image within customer account
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsRequestTag()
* - .ifAwsResourceTag()
* - .ifAwsTagKeys()
*
* https://docs.aws.amazon.com/appstream2/latest/APIReference/API_CreateUpdatedImage.html
*/
toCreateUpdatedImage() {
return this.to('CreateUpdatedImage');
}
/**
* Grants permission to create a usage report subscription. Usage reports are generated daily
*
* Access Level: Write
*
* https://docs.aws.amazon.com/appstream2/latest/APIReference/API_CreateUsageReportSubscription.html
*/
toCreateUsageReportSubscription() {
return this.to('CreateUsageReportSubscription');
}
/**
* Grants permission to create a new user in the user pool
*
* Access Level: Write
*
* https://docs.aws.amazon.com/appstream2/latest/APIReference/API_CreateUser.html
*/
toCreateUser() {
return this.to('CreateUser');
}
/**
* Grants permission to delete the specified app block
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsResourceTag()
*
* https://docs.aws.amazon.com/appstream2/latest/APIReference/API_DeleteAppBlock.html
*/
toDeleteAppBlock() {
return this.to('DeleteAppBlock');
}
/**
* Grants permission to delete the specified app block builder and release capacity
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsResourceTag()
*
* https://docs.aws.amazon.com/appstream2/latest/APIReference/API_DeleteAppBlockBuilder.html
*/
toDeleteAppBlockBuilder() {
return this.to('DeleteAppBlockBuilder');
}
/**
* Grants permission to delete the specified application
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsResourceTag()
*
* https://docs.aws.amazon.com/appstream2/latest/APIReference/API_DeleteApplication.html
*/
toDeleteApplication() {
return this.to('DeleteApplication');
}
/**
* Grants permission to delete the specified Directory Config object from AppStream 2.0. This object includes the configuration information required to join fleets and image builders to Microsoft Active Directory domains
*
* Access Level: Write
*
* https://docs.aws.amazon.com/appstream2/latest/APIReference/API_DeleteDirectoryConfig.html
*/
toDeleteDirectoryConfig() {
return this.to('DeleteDirectoryConfig');
}
/**
* Grants permission to delete the specified entitlement
*
* Access Level: Write
*
* https://docs.aws.amazon.com/appstream2/latest/APIReference/API_DeleteEntitlement.html
*/
toDeleteEntitlement() {
return this.to('DeleteEntitlement');
}
/**
* Grants permission to delete the specified fleet
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsResourceTag()
*
* https://docs.aws.amazon.com/appstream2/latest/APIReference/API_DeleteFleet.html
*/
toDeleteFleet() {
return this.to('DeleteFleet');
}
/**
* Grants permission to delete the specified image. An image cannot be deleted when it is in use
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsResourceTag()
*
* https://docs.aws.amazon.com/appstream2/latest/APIReference/API_DeleteImage.html
*/
toDeleteImage() {
return this.to('DeleteImage');
}
/**
* Grants permission to delete the specified image builder and release capacity
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsResourceTag()
*
* https://docs.aws.amazon.com/appstream2/latest/APIReference/API_DeleteImageBuilder.html
*/
toDeleteImageBuilder() {
return this.to('DeleteImageBuilder');
}
/**
* Grants permission to delete permissions for the specified private image
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsResourceTag()
*
* https://docs.aws.amazon.com/appstream2/latest/APIReference/API_DeleteImagePermissions.html
*/
toDeleteImagePermissions() {
return this.to('DeleteImagePermissions');
}
/**
* Grants permission to delete the specified stack. After the stack is deleted, the application streaming environment provided by the stack is no longer available to users. Also, any reservations made for application streaming sessions for the stack are released
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsResourceTag()
*
* https://docs.aws.amazon.com/appstream2/latest/APIReference/API_DeleteStack.html
*/
toDeleteStack() {
return this.to('DeleteStack');
}
/**
* Grants permission to delete a custom branding theme, which might includes a custom logo, website links, and other branding to display to your users
*
* Access Level: Write
*
* https://docs.aws.amazon.com/appstream2/latest/APIReference/API_DeleteThemeForStack.html
*/
toDeleteThemeForStack() {
return this.to('DeleteThemeForStack');
}
/**
* Grants permission to disable usage report generation
*
* Access Level: Write
*
* https://docs.aws.amazon.com/appstream2/latest/APIReference/API_DeleteUsageReportSubscription.html
*/
toDeleteUsageReportSubscription() {
return this.to('DeleteUsageReportSubscription');
}
/**
* Grants permission to delete a user from the user pool
*
* Access Level: Write
*
* https://docs.aws.amazon.com/appstream2/latest/APIReference/API_DeleteUser.html
*/
toDeleteUser() {
return this.to('DeleteUser');
}
/**
* Grants permission to retrieve the associations that are associated with the specified app block builder or app block
*
* Access Level: Read
*
* https://docs.aws.amazon.com/appstream2/latest/APIReference/API_DescribeAppBlockBuilderAppBlockAssociations.html
*/
toDescribeAppBlockBuilderAppBlockAssociations() {
return this.to('DescribeAppBlockBuilderAppBlockAssociations');
}
/**
* Grants permission to retrieve a list that describes one or more specified app block builders, if the app block builder names are provided. Otherwise, all app block builders in the account are described
*
* Access Level: Read
*
* https://docs.aws.amazon.com/appstream2/latest/APIReference/API_DescribeAppBlockBuilders.html
*/
toDescribeAppBlockBuilders() {
return this.to('DescribeAppBlockBuilders');
}
/**
* Grants permission to retrieve a list that describes one or more specified app blocks, if the app block arns are provided. Otherwise, all app blocks in the account are described
*
* Access Level: Read
*
* https://docs.aws.amazon.com/appstream2/latest/APIReference/API_DescribeAppBlocks.html
*/
toDescribeAppBlocks() {
return this.to('DescribeAppBlocks');
}
/**
* Grants permission to retrieve the associations that are associated with the specified application or fleet
*
* Access Level: Read
*
* https://docs.aws.amazon.com/appstream2/latest/APIReference/API_DescribeApplicationFleetAssociations.html
*/
toDescribeApplicationFleetAssociations() {
return this.to('DescribeApplicationFleetAssociations');
}
/**
* Grants permission to retrieve a list that describes one or more specified applications, if the application arns are provided. Otherwise, all applications in the account are described
*
* Access Level: Read
*
* https://docs.aws.amazon.com/appstream2/latest/APIReference/API_DescribeApplications.html
*/
toDescribeApplications() {
return this.to('DescribeApplications');
}
/**
* Grants permission to retrieve a list that describes one or more specified Directory Config objects for AppStream 2.0, if the names for these objects are provided. Otherwise, all Directory Config objects in the account are described. This object includes the configuration information required to join fleets and image builders to Microsoft Active Directory domains
*
* Access Level: Read
*
* https://docs.aws.amazon.com/appstream2/latest/APIReference/API_DescribeDirectoryConfigs.html
*/
toDescribeDirectoryConfigs() {
return this.to('DescribeDirectoryConfigs');
}
/**
* Grants permission to retrieve one or all entitlements for the specified stack
*
* Access Level: Read
*
* https://docs.aws.amazon.com/appstream2/latest/APIReference/API_DescribeEntitlements.html
*/
toDescribeEntitlements() {
return this.to('DescribeEntitlements');
}
/**
* Grants permission to retrieve a list that describes one or more specified fleets, if the fleet names are provided. Otherwise, all fleets in the account are described
*
* Access Level: Read
*
* https://docs.aws.amazon.com/appstream2/latest/APIReference/API_DescribeFleets.html
*/
toDescribeFleets() {
return this.to('DescribeFleets');
}
/**
* Grants permission to retrieve a list that describes one or more specified image builders, if the image builder names are provided. Otherwise, all image builders in the account are described
*
* Access Level: Read
*
* https://docs.aws.amazon.com/appstream2/latest/APIReference/API_DescribeImageBuilders.html
*/
toDescribeImageBuilders() {
return this.to('DescribeImageBuilders');
}
/**
* Grants permission to retrieve a list that describes the permissions for shared AWS account IDs on a private image that you own
*
* Access Level: Read
*
* https://docs.aws.amazon.com/appstream2/latest/APIReference/API_DescribeImagePermissions.html
*/
toDescribeImagePermissions() {
return this.to('DescribeImagePermissions');
}
/**
* Grants permission to retrieve a list that describes one or more specified images, if the image names or image ARNs are provided. Otherwise, all images in the account are described
*
* Access Level: Read
*
* https://docs.aws.amazon.com/appstream2/latest/APIReference/API_DescribeImages.html
*/
toDescribeImages() {
return this.to('DescribeImages');
}
/**
* Grants permission to retrieve a list that describes the streaming sessions for the specified stack and fleet. If a user ID is provided for the stack and fleet, only the streaming sessions for that user are described
*
* Access Level: Read
*
* https://docs.aws.amazon.com/appstream2/latest/APIReference/API_DescribeSessions.html
*/
toDescribeSessions() {
return this.to('DescribeSessions');
}
/**
* Grants permission to retrieve a list that describes one or more specified stacks, if the stack names are provided. Otherwise, all stacks in the account are described
*
* Access Level: Read
*
* https://docs.aws.amazon.com/appstream2/latest/APIReference/API_DescribeStacks.html
*/
toDescribeStacks() {
return this.to('DescribeStacks');
}
/**
* Grants permission to get the custom branding theme information, which might includes a custom logo, website links, and other branding to display to your users
*
* Access Level: Read
*
* https://docs.aws.amazon.com/appstream2/latest/APIReference/API_DescribeThemeForStack.html
*/
toDescribeThemeForStack() {
return this.to('DescribeThemeForStack');
}
/**
* Grants permission to retrieve a list that describes one or more usage report subscriptions
*
* Access Level: Read
*
* https://docs.aws.amazon.com/appstream2/latest/APIReference/API_DescribeUsageReportSubscriptions.html
*/
toDescribeUsageReportSubscriptions() {
return this.to('DescribeUsageReportSubscriptions');
}
/**
* Grants permission to retrieve a list that describes the UserStackAssociation objects
*
* Access Level: Read
*
* https://docs.aws.amazon.com/appstream2/latest/APIReference/API_DescribeUserStackAssociations.html
*/
toDescribeUserStackAssociations() {
return this.to('DescribeUserStackAssociations');
}
/**
* Grants permission to retrieve a list that describes users in the user pool
*
* Access Level: Read
*
* https://docs.aws.amazon.com/appstream2/latest/APIReference/API_DescribeUsers.html
*/
toDescribeUsers() {
return this.to('DescribeUsers');
}
/**
* Grants permission to disable the specified user in the user pool. This action does not delete the user
*
* Access Level: Write
*
* https://docs.aws.amazon.com/appstream2/latest/APIReference/API_DisableUser.html
*/
toDisableUser() {
return this.to('DisableUser');
}
/**
* Grants permission to disassociate the specified app block builder with the app block
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsResourceTag()
*
* https://docs.aws.amazon.com/appstream2/latest/APIReference/API_DisassociateAppBlockBuilderAppBlock.html
*/
toDisassociateAppBlockBuilderAppBlock() {
return this.to('DisassociateAppBlockBuilderAppBlock');
}
/**
* Grants permission to disassociate the specified application from the specified fleet
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsResourceTag()
*
* https://docs.aws.amazon.com/appstream2/latest/APIReference/API_DisassociateApplicationFleet.html
*/
toDisassociateApplicationFleet() {
return this.to('DisassociateApplicationFleet');
}
/**
* Grants permission to disassociate the specified application from the specified entitlement
*
* Access Level: Write
*
* https://docs.aws.amazon.com/appstream2/latest/APIReference/API_DisassociateApplicationFromEntitlement.html
*/
toDisassociateApplicationFromEntitlement() {
return this.to('DisassociateApplicationFromEntitlement');
}
/**
* Grants permission to disassociate the specified fleet from the specified stack
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsResourceTag()
*
* https://docs.aws.amazon.com/appstream2/latest/APIReference/API_DisassociateFleet.html
*/
toDisassociateFleet() {
return this.to('DisassociateFleet');
}
/**
* Grants permission to enable a user in the user pool
*
* Access Level: Write
*
* https://docs.aws.amazon.com/appstream2/latest/APIReference/API_EnableUser.html
*/
toEnableUser() {
return this.to('EnableUser');
}
/**
* Grants permission to immediately stop the specified streaming session
*
* Access Level: Write
*
* https://docs.aws.amazon.com/appstream2/latest/APIReference/API_ExpireSession.html
*/
toExpireSession() {
return this.to('ExpireSession');
}
/**
* Grants permission to retrieve the name of the fleet that is associated with the specified stack
*
* Access Level: Read
*
* https://docs.aws.amazon.com/appstream2/latest/APIReference/API_ListAssociatedFleets.html
*/
toListAssociatedFleets() {
return this.to('ListAssociatedFleets');
}
/**
* Grants permission to retrieve the name of the stack with which the specified fleet is associated
*
* Access Level: Read
*
* https://docs.aws.amazon.com/appstream2/latest/APIReference/API_ListAssociatedStacks.html
*/
toListAssociatedStacks() {
return this.to('ListAssociatedStacks');
}
/**
* Grants permission to retrieve the applications that are associated with the specified entitlement
*
* Access Level: List
*
* https://docs.aws.amazon.com/appstream2/latest/APIReference/API_ListEntitledApplications.html
*/
toListEntitledApplications() {
return this.to('ListEntitledApplications');
}
/**
* Grants permission to retrieve a list of all tags for the specified AppStream 2.0 resource. The following resources can be tagged: Image builders, images, fleets, and stacks
*
* Access Level: Read
*
* https://docs.aws.amazon.com/appstream2/latest/APIReference/API_ListTagsForResource.html
*/
toListTagsForResource() {
return this.to('ListTagsForResource');
}
/**
* Grants permission to start the specified app block builder
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsResourceTag()
*
* https://docs.aws.amazon.com/appstream2/latest/APIReference/API_StartAppBlockBuilder.html
*/
toStartAppBlockBuilder() {
return this.to('StartAppBlockBuilder');
}
/**
* Grants permission to start the specified fleet
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsResourceTag()
*
* https://docs.aws.amazon.com/appstream2/latest/APIReference/API_StartFleet.html
*/
toStartFleet() {
return this.to('StartFleet');
}
/**
* Grants permission to start the specified image builder
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsResourceTag()
*
* https://docs.aws.amazon.com/appstream2/latest/APIReference/API_StartImageBuilder.html
*/
toStartImageBuilder() {
return this.to('StartImageBuilder');
}
/**
* Grants permission to stop the specified app block builder
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsResourceTag()
*
* https://docs.aws.amazon.com/appstream2/latest/APIReference/API_StopAppBlockBuilder.html
*/
toStopAppBlockBuilder() {
return this.to('StopAppBlockBuilder');
}
/**
* Grants permission to stop the specified fleet
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsResourceTag()
*
* https://docs.aws.amazon.com/appstream2/latest/APIReference/API_StopFleet.html
*/
toStopFleet() {
return this.to('StopFleet');
}
/**
* Grants permission to stop the specified image builder
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsResourceTag()
*
* https://docs.aws.amazon.com/appstream2/latest/APIReference/API_StopImageBuilder.html
*/
toStopImageBuilder() {
return this.to('StopImageBuilder');
}
/**
* Grants permission to federated users to sign in by using their existing credentials and stream applications from the specified stack
*
* Access Level: Write
*
* Possible conditions:
* - .ifUserId()
*
* https://docs.aws.amazon.com/appstream2/latest/developerguide/external-identity-providers-setting-up-saml.html#external-identity-providers-embed-inline-policy-for-IAM-role
*/
toStream() {
return this.to('Stream');
}
/**
* Grants permission to add or overwrite one or more tags for the specified AppStream 2.0 resource. The following resources can be tagged: Image builders, images, fleets, stacks, app blocks and applications
*
* Access Level: Tagging
*
* Possible conditions:
* - .ifAwsRequestTag()
* - .ifAwsTagKeys()
* - .ifAwsResourceTag()
*
* https://docs.aws.amazon.com/appstream2/latest/APIReference/API_TagResource.html
*/
toTagResource() {
return this.to('TagResource');
}
/**
* Grants permission to disassociate one or more tags from the specified AppStream 2.0 resource
*
* Access Level: Tagging
*
* Possible conditions:
* - .ifAwsTagKeys()
*
* https://docs.aws.amazon.com/appstream2/latest/APIReference/API_UntagResource.html
*/
toUntagResource() {
return this.to('UntagResource');
}
/**
* Grants permission to update a specific app block builder. An app block builder is a virtual machine that is used to create an app block
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsResourceTag()
*
* https://docs.aws.amazon.com/appstream2/latest/APIReference/API_UpdateAppBlockBuilder.html
*/
toUpdateAppBlockBuilder() {
return this.to('UpdateAppBlockBuilder');
}
/**
* Grants permission to update the specified fields for the specified application
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsResourceTag()
*
* https://docs.aws.amazon.com/appstream2/latest/APIReference/API_UpdateApplication.html
*/
toUpdateApplication() {
return this.to('UpdateApplication');
}
/**
* Grants permission to update the specified Directory Config object in AppStream 2.0. This object includes the configuration information required to join fleets and image builders to Microsoft Active Directory domains
*
* Access Level: Write
*
* https://docs.aws.amazon.com/appstream2/latest/APIReference/API_UpdateDirectoryConfig.html
*/
toUpdateDirectoryConfig() {
return this.to('UpdateDirectoryConfig');
}
/**
* Grants permission to update the specified fields for the specified entitlement
*
* Access Level: Write
*
* https://docs.aws.amazon.com/appstream2/latest/APIReference/API_UpdateEntitlement.html
*/
toUpdateEntitlement() {
return this.to('UpdateEntitlement');
}
/**
* Grants permission to update the specified fleet. All attributes except the fleet name can be updated when the fleet is in the STOPPED state
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsResourceTag()
*
* https://docs.aws.amazon.com/appstream2/latest/APIReference/API_UpdateFleet.html
*/
toUpdateFleet() {
return this.to('UpdateFleet');
}
/**
* Grants permission to add or update permissions for the specified private image
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsResourceTag()
*
* https://docs.aws.amazon.com/appstream2/latest/APIReference/API_UpdateImagePermissions.html
*/
toUpdateImagePermissions() {
return this.to('UpdateImagePermissions');
}
/**
* Grants permission to update the specified fields for the specified stack
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsResourceTag()
*
* https://docs.aws.amazon.com/appstream2/latest/APIReference/API_UpdateStack.html
*/
toUpdateStack() {
return this.to('UpdateStack');
}
/**
* Grants permission to update the custom branding theme information, which might includes a custom logo, website links, and other branding to display to your users
*
* Access Level: Write
*
* https://docs.aws.amazon.com/appstream2/latest/APIReference/API_UpdateThemeForStack.html
*/
toUpdateThemeForStack() {
return this.to('UpdateThemeForStack');
}
/**
* Adds a resource of type fleet to the statement
*
* https://docs.aws.amazon.com/appstream2/latest/developerguide/what-is-appstream.html#what-is-concepts
*
* @param fleetName - Identifier for the fleetName.
* @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()
*/
onFleet(fleetName, account, region, partition) {
return this.on(`arn:${partition ?? this.defaultPartition}:appstream:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:fleet/${fleetName}`);
}
/**
* Adds a resource of type image to the statement
*
* https://docs.aws.amazon.com/appstream2/latest/developerguide/what-is-appstream.html#what-is-concepts
*
* @param imageName - Identifier for the imageName.
* @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()
*/
onImage(imageName, account, region, partition) {
return this.on(`arn:${partition ?? this.defaultPartition}:appstream:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:image/${imageName}`);
}
/**
* Adds a resource of type image-builder to the statement
*
* https://docs.aws.amazon.com/appstream2/latest/developerguide/what-is-appstream.html#what-is-concepts
*
* @param imageBuilderName - Identifier for the imageBuilderName.
* @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()
*/
onImageBuilder(imageBuilderName, account, region, partition) {
return this.on(`arn:${partition ?? this.defaultPartition}:appstream:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:image-builder/${imageBuilderName}`);
}
/**
* Adds a resource of type stack to the statement
*
* https://docs.aws.amazon.com/appstream2/latest/developerguide/what-is-appstream.html#what-is-concepts
*
* @param stackName - Identifier for the stackName.
* @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()
*/
onStack(stackName, account, region, partition) {
return this.on(`arn:${partition ?? this.defaultPartition}:appstream:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:stack/${stackName}`);
}
/**
* Adds a resource of type app-block to the statement
*
* https://docs.aws.amazon.com/appstream2/latest/developerguide/what-is-appstream.html#what-is-concepts
*
* @param appBlockName - Identifier for the appBlockName.
* @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()
*/
onAppBlock(appBlockName, account, region, partition) {
return this.on(`arn:${partition ?? this.defaultPartition}:appstream:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:app-block/${appBlockName}`);
}
/**
* Adds a resource of type application to the statement
*
* https://docs.aws.amazon.com/appstream2/latest/developerguide/what-is-appstream.html#what-is-concepts
*
* @param applicationName - Identifier for the applicationName.
* @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()
*/
onApplication(applicationName, account, region, partition) {
return this.on(`arn:${partition ?? this.defaultPartition}:appstream:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:application/${applicationName}`);
}
/**
* Adds a resource of type app-block-builder to the statement
*
* https://docs.aws.amazon.com/appstream2/latest/developerguide/what-is-appstream.html#what-is-concepts
*
* @param appBlockBuilderName - Identifier for the appBlockBuilderName.
* @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()
*/
onAppBlockBuilder(appBlockBuilderName, account, region, partition) {
return this.on(`arn:${partition ?? this.defaultPartition}:appstream:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:app-block-builder/${appBlockBuilderName}`);
}
/**
* Filters access by the ID of the AppStream 2.0 user
*
* https://docs.aws.amazon.com/appstream2/latest/developerguide/external-identity-providers-setting-up-saml.html#external-identity-providers-embed-inline-policy-for-IAM-role
*
* Applies to actions:
* - .toStream()
*
* @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`
*/
ifUserId(value, operator) {
return this.if(`userId`, value, operator ?? 'StringLike');
}
/**
* Filters access by the presence of tag key-value pairs in the request
*
* https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-requesttag
*
* Applies to actions:
* - .toCreateAppBlock()
* - .toCreateAppBlockBuilder()
* - .toCreateApplication()
* - .toCreateFleet()
* - .toCreateImageBuilder()
* - .toCreateStack()
* - .toCreateUpdatedImage()
* - .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, value, operator) {
return this.if(`aws:RequestTag/${tagKey}`, value, operator ?? 'StringLike');
}
/**
* Filters access by the tag key-value pairs attached to the resource
*
* https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-resourcetag
*
* Applies to actions:
* - .toAssociateAppBlockBuilderAppBlock()
* - .toAssociateApplicationFleet()
* - .toAssociateFleet()
* - .toBatchAssociateUserStack()
* - .toBatchDisassociateUserStack()
* - .toCopyImage()
* - .toCreateAppBlock()
* - .toCreateAppBlockBuilderStreamingURL()
* - .toCreateApplication()
* - .toCreateImageBuilderStreamingURL()
* - .toCreateStreamingURL()
* - .toCreateUpdatedImage()
* - .toDeleteAppBlock()
* - .toDeleteAppBlockBuilder()
* - .toDeleteApplication()
* - .toDeleteFleet()
* - .toDeleteImage()
* - .toDeleteImageBuilder()
* - .toDeleteImagePermissions()
* - .toDeleteStack()
* - .toDisassociateAppBlockBuilderAppBlock()
* - .toDisassociateApplicationFleet()
* - .toDisassociateFleet()
* - .toStartAppBlockBuilder()
* - .toStartFleet()
* - .toStartImageBuilder()
* - .toStopAppBlockBuilder()
* - .toStopFleet()
* - .toStopImageBuilder()
* - .toTagResource()
* - .toUpdateAppBlockBuilder()
* - .toUpdateApplication()
* - .toUpdateFleet()
* - .toUpdateImagePermissions()
* - .toUpdateStack()
*
* Applies to resource types:
* - fleet
* - image
* - image-builder
* - stack
* - app-block
* - application
* - app-block-builder
*
* @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, value, operator) {
return this.if(`aws:ResourceTag/${tagKey}`, value, operator ?? 'StringLike');
}
/**
* Filters access by the presence of tag keys in the request
*
* https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-tagkeys
*
* Applies to actions:
* - .toCreateAppBlock()
* - .toCreateAppBlockBuilder()
* - .toCreateApplication()
* - .toCreateFleet()
* - .toCreateImageBuilder()
* - .toCreateStack()
* - .toCreateUpdatedImage()
* - .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, operator) {
return this.if(`aws:TagKeys`, value, operator ?? 'StringLike');
}
}
exports.Appstream = Appstream;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwc3RyZWFtMi0wLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYXBwc3RyZWFtMi0wLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHlDQUF5RDtBQUV6RDs7OztHQUlHO0FBQ0gsTUFBYSxTQUFVLFNBQVEsd0JBQWU7SUFHNUM7Ozs7T0FJRztJQUNILFlBQVksR0FBWTtRQUN0QixLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFSTixrQkFBYSxHQUFHLFdBQVcsQ0FBQztRQWtnQ3pCLG9CQUFlLEdBQW9CO1lBQzNDLEtBQUssRUFBRTtnQkFDTCxrQ0FBa0M7Z0JBQ2xDLDJCQUEyQjtnQkFDM0IsbUNBQW1DO2dCQUNuQyxnQkFBZ0I7Z0JBQ2hCLHlCQUF5QjtnQkFDekIsNEJBQTRCO2dCQUM1QixXQUFXO2dCQUNYLGdCQUFnQjtnQkFDaEIsdUJBQXVCO2dCQUN2QixtQ0FBbUM7Z0JBQ25DLG1CQUFtQjtnQkFDbkIsdUJBQXVCO2dCQUN2QixtQkFBbUI7Z0JBQ25CLGFBQWE7Z0JBQ2Isb0JBQW9CO2dCQUNwQixnQ0FBZ0M7Z0JBQ2hDLGFBQWE7Z0JBQ2Isb0JBQW9CO2dCQUNwQixxQkFBcUI7Z0JBQ3JCLG9CQUFvQjtnQkFDcEIsK0JBQStCO2dCQUMvQixZQUFZO2dCQUNaLGdCQUFnQjtnQkFDaEIsdUJBQXVCO2dCQUN2QixtQkFBbUI7Z0JBQ25CLHVCQUF1QjtnQkFDdkIsbUJBQW1CO2dCQUNuQixhQUFhO2dCQUNiLGFBQWE7Z0JBQ2Isb0JBQW9CO2dCQUNwQix3QkFBd0I7Z0JBQ3hCLGFBQWE7Z0JBQ2IscUJBQXFCO2dCQUNyQiwrQkFBK0I7Z0JBQy9CLFlBQVk7Z0JBQ1osYUFBYTtnQkFDYixxQ0FBcUM7Z0JBQ3JDLDhCQUE4QjtnQkFDOUIsd0NBQXdDO2dCQUN4QyxtQkFBbUI7Z0JBQ25CLFlBQVk7Z0JBQ1osZUFBZTtnQkFDZixzQkFBc0I7Z0JBQ3RCLFlBQVk7Z0JBQ1osbUJBQW1CO2dCQUNuQixxQkFBcUI7Z0JBQ3JCLFdBQVc7Z0JBQ1gsa0JBQWtCO2dCQUNsQixRQUFRO2dCQUNSLHVCQUF1QjtnQkFDdkIsbUJBQW1CO2dCQUNuQix1QkFBdUI7Z0JBQ3ZCLG1CQUFtQjtnQkFDbkIsYUFBYTtnQkFDYix3QkFBd0I7Z0JBQ3hCLGFBQWE7Z0JBQ2IscUJBQXFCO2FBQ3RCO1lBQ0QsSUFBSSxFQUFFO2dCQUNKLDZDQUE2QztnQkFDN0MsMEJBQTBCO2dCQUMxQixtQkFBbUI7Z0JBQ25CLHNDQUFzQztnQkFDdEMsc0JBQXNCO2dCQUN0QiwwQkFBMEI7Z0JBQzFCLHNCQUFzQjtnQkFDdEIsZ0JBQWdCO2dCQUNoQix1QkFBdUI7Z0JBQ3ZCLDBCQUEwQjtnQkFDMUIsZ0JBQWdCO2dCQUNoQixrQkFBa0I7Z0JBQ2xCLGdCQUFnQjtnQkFDaEIsdUJBQXVCO2dCQUN2QixrQ0FBa0M7Z0JBQ2xDLCtCQUErQjtnQkFDL0IsZUFBZTtnQkFDZixzQkFBc0I7Z0JBQ3RCLHNCQUFzQjtnQkFDdEIscUJBQXFCO2FBQ3RCO1lBQ0QsSUFBSSxFQUFFO2dCQUNKLDBCQUEwQjthQUMzQjtZQUNELE9BQU8sRUFBRTtnQkFDUCxhQUFhO2dCQUNiLGVBQWU7YUFDaEI7U0FDRixDQUFDO0lBbGxDRixDQUFDO0lBRUQ7Ozs7Ozs7OztPQVNHO0lBQ0ksa0NBQWtDO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRDs7Ozs7Ozs7O09BU0c7SUFDSSwyQkFBMkI7UUFDaEMsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLDJCQUEyQixDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLG1DQUFtQztRQUN4QyxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsbUNBQW1DLENBQUMsQ0FBQztJQUN0RC