cdk-iam-floyd
Version:
AWS IAM policy statement generator with fluent interface for AWS CDK
1,086 lines • 104 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Nimble = void 0;
const shared_1 = require("../../shared");
/**
* Statement provider for service [nimble](https://docs.aws.amazon.com/service-authorization/latest/reference/list_nimble.html).
*
* @param sid [SID](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_sid.html) of the statement
*/
class Nimble extends shared_1.PolicyStatement {
/**
* Grants permission to accept EULAs
*
* Access Level: Write
*
* https://docs.aws.amazon.com/nimble-studio/latest/APIReference/API_AcceptEulas.html
*/
toAcceptEulas() {
return this.to('AcceptEulas');
}
/**
* Grants permission to create a launch profile
*
* Access Level: Write
*
* https://docs.aws.amazon.com/nimble-studio/latest/APIReference/API_CreateLaunchProfile.html
*/
toCreateLaunchProfile() {
return this.to('CreateLaunchProfile');
}
/**
* Grants permission to create a streaming image
*
* Access Level: Write
*
* https://docs.aws.amazon.com/nimble-studio/latest/APIReference/API_CreateStreamingImage.html
*/
toCreateStreamingImage() {
return this.to('CreateStreamingImage');
}
/**
* Grants permission to create a streaming session
*
* Access Level: Write
*
* https://docs.aws.amazon.com/nimble-studio/latest/APIReference/API_CreateStreamingSession.html
*/
toCreateStreamingSession() {
return this.to('CreateStreamingSession');
}
/**
* Grants permission to create a StreamingSessionStream
*
* Access Level: Write
*
* https://docs.aws.amazon.com/nimble-studio/latest/APIReference/API_CreateStreamingSessionStream.html
*/
toCreateStreamingSessionStream() {
return this.to('CreateStreamingSessionStream');
}
/**
* Grants permission to create a studio
*
* Access Level: Write
*
* https://docs.aws.amazon.com/nimble-studio/latest/APIReference/API_CreateStudio.html
*/
toCreateStudio() {
return this.to('CreateStudio');
}
/**
* Grants permission to create a studio component. A studio component designates a network resource to which a launch profile will provide access
*
* Access Level: Write
*
* https://docs.aws.amazon.com/nimble-studio/latest/APIReference/API_CreateStudioComponent.html
*/
toCreateStudioComponent() {
return this.to('CreateStudioComponent');
}
/**
* Grants permission to delete a launch profile
*
* Access Level: Write
*
* https://docs.aws.amazon.com/nimble-studio/latest/APIReference/API_DeleteLaunchProfile.html
*/
toDeleteLaunchProfile() {
return this.to('DeleteLaunchProfile');
}
/**
* Grants permission to delete a launch profile member
*
* Access Level: Write
*
* https://docs.aws.amazon.com/nimble-studio/latest/APIReference/API_DeleteLaunchProfileMember.html
*/
toDeleteLaunchProfileMember() {
return this.to('DeleteLaunchProfileMember');
}
/**
* Grants permission to delete a streaming image
*
* Access Level: Write
*
* https://docs.aws.amazon.com/nimble-studio/latest/APIReference/API_DeleteStreamingImage.html
*/
toDeleteStreamingImage() {
return this.to('DeleteStreamingImage');
}
/**
* Grants permission to delete a streaming session
*
* Access Level: Write
*
* https://docs.aws.amazon.com/nimble-studio/latest/APIReference/API_DeleteStreamingSession.html
*/
toDeleteStreamingSession() {
return this.to('DeleteStreamingSession');
}
/**
* Grants permission to delete a studio
*
* Access Level: Write
*
* https://docs.aws.amazon.com/nimble-studio/latest/APIReference/API_DeleteStudio.html
*/
toDeleteStudio() {
return this.to('DeleteStudio');
}
/**
* Grants permission to delete a studio component
*
* Access Level: Write
*
* https://docs.aws.amazon.com/nimble-studio/latest/APIReference/API_DeleteStudioComponent.html
*/
toDeleteStudioComponent() {
return this.to('DeleteStudioComponent');
}
/**
* Grants permission to delete a studio member
*
* Access Level: Write
*
* https://docs.aws.amazon.com/nimble-studio/latest/APIReference/API_DeleteStudioMember.html
*/
toDeleteStudioMember() {
return this.to('DeleteStudioMember');
}
/**
* Grants permission to get a EULA
*
* Access Level: Read
*
* https://docs.aws.amazon.com/nimble-studio/latest/APIReference/API_GetEula.html
*/
toGetEula() {
return this.to('GetEula');
}
/**
* Grants permission to get a launch profile
*
* Access Level: Read
*
* https://docs.aws.amazon.com/nimble-studio/latest/APIReference/API_GetLaunchProfile.html
*/
toGetLaunchProfile() {
return this.to('GetLaunchProfile');
}
/**
* Grants permission to get a launch profile's details, which includes the summary of studio components and streaming images used by the launch profile
*
* Access Level: Read
*
* https://docs.aws.amazon.com/nimble-studio/latest/APIReference/API_GetLaunchProfileDetails.html
*/
toGetLaunchProfileDetails() {
return this.to('GetLaunchProfileDetails');
}
/**
* Grants permission to get a launch profile initialization. A launch profile initialization is a dereferenced version of a launch profile, including attached studio component connection information
*
* Access Level: Read
*
* https://docs.aws.amazon.com/nimble-studio/latest/APIReference/API_GetLaunchProfileInitialization.html
*/
toGetLaunchProfileInitialization() {
return this.to('GetLaunchProfileInitialization');
}
/**
* Grants permission to get a launch profile member
*
* Access Level: Read
*
* https://docs.aws.amazon.com/nimble-studio/latest/APIReference/API_GetLaunchProfileMember.html
*/
toGetLaunchProfileMember() {
return this.to('GetLaunchProfileMember');
}
/**
* Grants permission to get a streaming image
*
* Access Level: Read
*
* https://docs.aws.amazon.com/nimble-studio/latest/APIReference/API_GetStreamingImage.html
*/
toGetStreamingImage() {
return this.to('GetStreamingImage');
}
/**
* Grants permission to get a streaming session
*
* Access Level: Read
*
* https://docs.aws.amazon.com/nimble-studio/latest/APIReference/API_GetStreamingSession.html
*/
toGetStreamingSession() {
return this.to('GetStreamingSession');
}
/**
* Grants permission to get a streaming session backup
*
* Access Level: Read
*
* https://docs.aws.amazon.com/nimble-studio/latest/APIReference/API_GetStreamingSessionBackup.html
*/
toGetStreamingSessionBackup() {
return this.to('GetStreamingSessionBackup');
}
/**
* Grants permission to get a streaming session stream
*
* Access Level: Read
*
* https://docs.aws.amazon.com/nimble-studio/latest/APIReference/API_GetStreamingSessionStream.html
*/
toGetStreamingSessionStream() {
return this.to('GetStreamingSessionStream');
}
/**
* Grants permission to get a studio
*
* Access Level: Read
*
* https://docs.aws.amazon.com/nimble-studio/latest/APIReference/API_GetStudio.html
*/
toGetStudio() {
return this.to('GetStudio');
}
/**
* Grants permission to get a studio component
*
* Access Level: Read
*
* https://docs.aws.amazon.com/nimble-studio/latest/APIReference/API_GetStudioComponent.html
*/
toGetStudioComponent() {
return this.to('GetStudioComponent');
}
/**
* Grants permission to get a studio member
*
* Access Level: Read
*
* https://docs.aws.amazon.com/nimble-studio/latest/APIReference/API_GetStudioMember.html
*/
toGetStudioMember() {
return this.to('GetStudioMember');
}
/**
* Grants permission to list EULA acceptances
*
* Access Level: Read
*
* https://docs.aws.amazon.com/nimble-studio/latest/APIReference/API_ListEulaAcceptances.html
*/
toListEulaAcceptances() {
return this.to('ListEulaAcceptances');
}
/**
* Grants permission to list EULAs
*
* Access Level: Read
*
* https://docs.aws.amazon.com/nimble-studio/latest/APIReference/API_ListEulas.html
*/
toListEulas() {
return this.to('ListEulas');
}
/**
* Grants permission to list launch profile members
*
* Access Level: Read
*
* https://docs.aws.amazon.com/nimble-studio/latest/APIReference/API_ListLaunchProfileMembers.html
*/
toListLaunchProfileMembers() {
return this.to('ListLaunchProfileMembers');
}
/**
* Grants permission to list launch profiles
*
* Access Level: Read
*
* https://docs.aws.amazon.com/nimble-studio/latest/APIReference/API_ListLaunchProfiles.html
*/
toListLaunchProfiles() {
return this.to('ListLaunchProfiles');
}
/**
* Grants permission to list streaming images
*
* Access Level: Read
*
* https://docs.aws.amazon.com/nimble-studio/latest/APIReference/API_ListStreamingImages.html
*/
toListStreamingImages() {
return this.to('ListStreamingImages');
}
/**
* Grants permission to list streaming session backups
*
* Access Level: Read
*
* https://docs.aws.amazon.com/nimble-studio/latest/APIReference/API_ListStreamingSessionBackups.html
*/
toListStreamingSessionBackups() {
return this.to('ListStreamingSessionBackups');
}
/**
* Grants permission to list streaming sessions
*
* Access Level: Read
*
* https://docs.aws.amazon.com/nimble-studio/latest/APIReference/API_ListStreamingSessions.html
*/
toListStreamingSessions() {
return this.to('ListStreamingSessions');
}
/**
* Grants permission to list studio components
*
* Access Level: Read
*
* https://docs.aws.amazon.com/nimble-studio/latest/APIReference/API_ListStudioComponents.html
*/
toListStudioComponents() {
return this.to('ListStudioComponents');
}
/**
* Grants permission to list studio members
*
* Access Level: Read
*
* https://docs.aws.amazon.com/nimble-studio/latest/APIReference/API_ListStudioMembers.html
*/
toListStudioMembers() {
return this.to('ListStudioMembers');
}
/**
* Grants permission to list all studios
*
* Access Level: Read
*
* https://docs.aws.amazon.com/nimble-studio/latest/APIReference/API_ListStudios.html
*/
toListStudios() {
return this.to('ListStudios');
}
/**
* Grants permission to list all tags on a Nimble Studio resource
*
* Access Level: Read
*
* https://docs.aws.amazon.com/nimble-studio/latest/APIReference/API_ListTagsForResource.html
*/
toListTagsForResource() {
return this.to('ListTagsForResource');
}
/**
* Grants permission to add/update launch profile members
*
* Access Level: Write
*
* https://docs.aws.amazon.com/nimble-studio/latest/APIReference/API_PutLaunchProfileMembers.html
*/
toPutLaunchProfileMembers() {
return this.to('PutLaunchProfileMembers');
}
/**
* Grants permission to add/update studio members
*
* Access Level: Write
*
* https://docs.aws.amazon.com/nimble-studio/latest/APIReference/API_PutStudioMembers.html
*/
toPutStudioMembers() {
return this.to('PutStudioMembers');
}
/**
* Grants permission to start a streaming session
*
* Access Level: Write
*
* https://docs.aws.amazon.com/nimble-studio/latest/APIReference/API_StartStreamingSession.html
*/
toStartStreamingSession() {
return this.to('StartStreamingSession');
}
/**
* Grants permission to repair the studio's AWS IAM Identity Center configuration
*
* Access Level: Write
*
* https://docs.aws.amazon.com/nimble-studio/latest/APIReference/API_StartStudioSSOConfigurationRepair.html
*/
toStartStudioSSOConfigurationRepair() {
return this.to('StartStudioSSOConfigurationRepair');
}
/**
* Grants permission to stop a streaming session
*
* Access Level: Write
*
* https://docs.aws.amazon.com/nimble-studio/latest/APIReference/API_StopStreamingSession.html
*/
toStopStreamingSession() {
return this.to('StopStreamingSession');
}
/**
* Grants permission to add or overwrite one or more tags for the specified Nimble Studio resource
*
* Access Level: Tagging, Write
*
* https://docs.aws.amazon.com/nimble-studio/latest/APIReference/API_TagResource.html
*/
toTagResource() {
return this.to('TagResource');
}
/**
* Grants permission to disassociate one or more tags from the specified Nimble Studio resource
*
* Access Level: Tagging, Write
*
* https://docs.aws.amazon.com/nimble-studio/latest/APIReference/API_UntagResource.html
*/
toUntagResource() {
return this.to('UntagResource');
}
/**
* Grants permission to update a launch profile
*
* Access Level: Write
*
* https://docs.aws.amazon.com/nimble-studio/latest/APIReference/API_UpdateLaunchProfile.html
*/
toUpdateLaunchProfile() {
return this.to('UpdateLaunchProfile');
}
/**
* Grants permission to update a launch profile member
*
* Access Level: Write
*
* https://docs.aws.amazon.com/nimble-studio/latest/APIReference/API_UpdateLaunchProfileMember.html
*/
toUpdateLaunchProfileMember() {
return this.to('UpdateLaunchProfileMember');
}
/**
* Grants permission to update a streaming image
*
* Access Level: Write
*
* https://docs.aws.amazon.com/nimble-studio/latest/APIReference/API_UpdateStreamingImage.html
*/
toUpdateStreamingImage() {
return this.to('UpdateStreamingImage');
}
/**
* Grants permission to update a studio
*
* Access Level: Write
*
* https://docs.aws.amazon.com/nimble-studio/latest/APIReference/API_UpdateStudio.html
*/
toUpdateStudio() {
return this.to('UpdateStudio');
}
/**
* Grants permission to update a studio component
*
* Access Level: Write
*
* https://docs.aws.amazon.com/nimble-studio/latest/APIReference/API_UpdateStudioComponent.html
*/
toUpdateStudioComponent() {
return this.to('UpdateStudioComponent');
}
/**
* Grants permission to allow Nimble Studio portal to show the appropriate features for this account
*
* Access Level: Read
*
* https://docs.aws.amazon.com/nimble-studio/latest/userguide/security-iam-service-with-iam.html
*/
toGetFeatureMap() {
return this.to('GetFeatureMap');
}
/**
* Grants permission to report metrics and logs for the Nimble Studio portal to monitor application health
*
* Access Level: Write
*
* https://docs.aws.amazon.com/nimble-studio/latest/userguide/security-iam-service-with-iam.html
*/
toPutStudioLogEvents() {
return this.to('PutStudioLogEvents');
}
/**
* Adds a resource of type eula to the statement
*
* https://docs.aws.amazon.com/nimble-studio/latest/APIReference/API_Eula.html
*
* @param eulaId - Identifier for the eulaId.
* @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.
*/
onEula(eulaId, account, region, partition) {
return this.on(`arn:${partition ?? this.defaultPartition}:nimble:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:eula/${eulaId}`);
}
/**
* Adds a resource of type eula-acceptance to the statement
*
* https://docs.aws.amazon.com/nimble-studio/latest/APIReference/API_EulaAcceptance.html
*
* @param eulaAcceptanceId - Identifier for the eulaAcceptanceId.
* @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:
* - .ifStudioId()
*/
onEulaAcceptance(eulaAcceptanceId, account, region, partition) {
return this.on(`arn:${partition ?? this.defaultPartition}:nimble:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:eula-acceptance/${eulaAcceptanceId}`);
}
/**
* Adds a resource of type launch-profile to the statement
*
* https://docs.aws.amazon.com/nimble-studio/latest/APIReference/API_LaunchProfile.html
*
* @param launchProfileId - Identifier for the launchProfileId.
* @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:
* - .ifAwsRequestTag()
* - .ifAwsResourceTag()
* - .ifAwsTagKeys()
* - .ifStudioId()
*/
onLaunchProfile(launchProfileId, account, region, partition) {
return this.on(`arn:${partition ?? this.defaultPartition}:nimble:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:launch-profile/${launchProfileId}`);
}
/**
* Adds a resource of type streaming-image to the statement
*
* https://docs.aws.amazon.com/nimble-studio/latest/APIReference/API_StreamingImage.html
*
* @param streamingImageId - Identifier for the streamingImageId.
* @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:
* - .ifAwsRequestTag()
* - .ifAwsResourceTag()
* - .ifAwsTagKeys()
* - .ifStudioId()
*/
onStreamingImage(streamingImageId, account, region, partition) {
return this.on(`arn:${partition ?? this.defaultPartition}:nimble:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:streaming-image/${streamingImageId}`);
}
/**
* Adds a resource of type streaming-session to the statement
*
* https://docs.aws.amazon.com/nimble-studio/latest/APIReference/API_StreamingSession.html
*
* @param streamingSessionId - Identifier for the streamingSessionId.
* @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:
* - .ifAwsRequestTag()
* - .ifAwsResourceTag()
* - .ifAwsTagKeys()
* - .ifCreatedBy()
* - .ifOwnedBy()
*/
onStreamingSession(streamingSessionId, account, region, partition) {
return this.on(`arn:${partition ?? this.defaultPartition}:nimble:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:streaming-session/${streamingSessionId}`);
}
/**
* Adds a resource of type streaming-session-backup to the statement
*
* https://docs.aws.amazon.com/nimble-studio/latest/APIReference/API_StreamingSessionBackup.html
*
* @param streamingSessionBackupId - Identifier for the streamingSessionBackupId.
* @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:
* - .ifAwsRequestTag()
* - .ifAwsResourceTag()
* - .ifAwsTagKeys()
* - .ifOwnedBy()
*/
onStreamingSessionBackup(streamingSessionBackupId, account, region, partition) {
return this.on(`arn:${partition ?? this.defaultPartition}:nimble:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:streaming-session-backup/${streamingSessionBackupId}`);
}
/**
* Adds a resource of type studio to the statement
*
* https://docs.aws.amazon.com/nimble-studio/latest/APIReference/API_Studio.html
*
* @param studioId - Identifier for the studioId.
* @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:
* - .ifAwsRequestTag()
* - .ifAwsResourceTag()
* - .ifAwsTagKeys()
* - .ifStudioId()
*/
onStudio(studioId, account, region, partition) {
return this.on(`arn:${partition ?? this.defaultPartition}:nimble:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:studio/${studioId}`);
}
/**
* Adds a resource of type studio-component to the statement
*
* https://docs.aws.amazon.com/nimble-studio/latest/APIReference/API_StudioComponent.html
*
* @param studioComponentId - Identifier for the studioComponentId.
* @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:
* - .ifAwsRequestTag()
* - .ifAwsResourceTag()
* - .ifAwsTagKeys()
* - .ifStudioId()
*/
onStudioComponent(studioComponentId, account, region, partition) {
return this.on(`arn:${partition ?? this.defaultPartition}:nimble:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:studio-component/${studioComponentId}`);
}
/**
* Filters access by a tag key and value pair that is allowed in the request
*
* https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-requesttag
*
* Applies to actions:
* - .toCreateLaunchProfile()
* - .toCreateStreamingImage()
* - .toCreateStreamingSession()
* - .toCreateStreamingSessionStream()
* - .toCreateStudio()
* - .toCreateStudioComponent()
* - .toDeleteLaunchProfile()
* - .toDeleteLaunchProfileMember()
* - .toDeleteStreamingImage()
* - .toDeleteStreamingSession()
* - .toDeleteStudio()
* - .toDeleteStudioComponent()
* - .toDeleteStudioMember()
* - .toGetLaunchProfile()
* - .toGetLaunchProfileDetails()
* - .toGetLaunchProfileInitialization()
* - .toGetLaunchProfileMember()
* - .toGetStreamingImage()
* - .toGetStreamingSession()
* - .toGetStreamingSessionBackup()
* - .toGetStreamingSessionStream()
* - .toGetStudio()
* - .toGetStudioComponent()
* - .toGetStudioMember()
* - .toListLaunchProfileMembers()
* - .toListLaunchProfiles()
* - .toListStreamingImages()
* - .toListStreamingSessionBackups()
* - .toListStreamingSessions()
* - .toListStudioComponents()
* - .toListStudioMembers()
* - .toListTagsForResource()
* - .toPutLaunchProfileMembers()
* - .toPutStudioMembers()
* - .toStartStreamingSession()
* - .toStartStudioSSOConfigurationRepair()
* - .toStopStreamingSession()
* - .toTagResource()
* - .toUntagResource()
* - .toUpdateLaunchProfile()
* - .toUpdateLaunchProfileMember()
* - .toUpdateStreamingImage()
* - .toUpdateStudio()
* - .toUpdateStudioComponent()
* - .toPutStudioLogEvents()
*
* Applies to resource types:
* - launch-profile
* - streaming-image
* - streaming-session
* - streaming-session-backup
* - studio
* - studio-component
*
* @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 a tag key and value pair of a resource
*
* https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-resourcetag
*
* Applies to actions:
* - .toCreateLaunchProfile()
* - .toCreateStreamingImage()
* - .toCreateStreamingSession()
* - .toCreateStreamingSessionStream()
* - .toCreateStudio()
* - .toCreateStudioComponent()
* - .toDeleteLaunchProfile()
* - .toDeleteLaunchProfileMember()
* - .toDeleteStreamingImage()
* - .toDeleteStreamingSession()
* - .toDeleteStudio()
* - .toDeleteStudioComponent()
* - .toDeleteStudioMember()
* - .toGetLaunchProfile()
* - .toGetLaunchProfileDetails()
* - .toGetLaunchProfileInitialization()
* - .toGetLaunchProfileMember()
* - .toGetStreamingImage()
* - .toGetStreamingSession()
* - .toGetStreamingSessionBackup()
* - .toGetStreamingSessionStream()
* - .toGetStudio()
* - .toGetStudioComponent()
* - .toGetStudioMember()
* - .toListLaunchProfileMembers()
* - .toListLaunchProfiles()
* - .toListStreamingImages()
* - .toListStreamingSessionBackups()
* - .toListStreamingSessions()
* - .toListStudioComponents()
* - .toListStudioMembers()
* - .toListTagsForResource()
* - .toPutLaunchProfileMembers()
* - .toPutStudioMembers()
* - .toStartStreamingSession()
* - .toStartStudioSSOConfigurationRepair()
* - .toStopStreamingSession()
* - .toTagResource()
* - .toUntagResource()
* - .toUpdateLaunchProfile()
* - .toUpdateLaunchProfileMember()
* - .toUpdateStreamingImage()
* - .toUpdateStudio()
* - .toUpdateStudioComponent()
* - .toPutStudioLogEvents()
*
* Applies to resource types:
* - launch-profile
* - streaming-image
* - streaming-session
* - streaming-session-backup
* - studio
* - studio-component
*
* @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 a list of tag keys that are allowed in the request
*
* https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-tagkeys
*
* Applies to actions:
* - .toCreateLaunchProfile()
* - .toCreateStreamingImage()
* - .toCreateStreamingSession()
* - .toCreateStreamingSessionStream()
* - .toCreateStudio()
* - .toCreateStudioComponent()
* - .toDeleteLaunchProfile()
* - .toDeleteLaunchProfileMember()
* - .toDeleteStreamingImage()
* - .toDeleteStreamingSession()
* - .toDeleteStudio()
* - .toDeleteStudioComponent()
* - .toDeleteStudioMember()
* - .toGetLaunchProfile()
* - .toGetLaunchProfileDetails()
* - .toGetLaunchProfileInitialization()
* - .toGetLaunchProfileMember()
* - .toGetStreamingImage()
* - .toGetStreamingSession()
* - .toGetStreamingSessionBackup()
* - .toGetStreamingSessionStream()
* - .toGetStudio()
* - .toGetStudioComponent()
* - .toGetStudioMember()
* - .toListLaunchProfileMembers()
* - .toListLaunchProfiles()
* - .toListStreamingImages()
* - .toListStreamingSessionBackups()
* - .toListStreamingSessions()
* - .toListStudioComponents()
* - .toListStudioMembers()
* - .toListTagsForResource()
* - .toPutLaunchProfileMembers()
* - .toPutStudioMembers()
* - .toStartStreamingSession()
* - .toStartStudioSSOConfigurationRepair()
* - .toStopStreamingSession()
* - .toTagResource()
* - .toUntagResource()
* - .toUpdateLaunchProfile()
* - .toUpdateLaunchProfileMember()
* - .toUpdateStreamingImage()
* - .toUpdateStudio()
* - .toUpdateStudioComponent()
* - .toPutStudioLogEvents()
*
* Applies to resource types:
* - launch-profile
* - streaming-image
* - streaming-session
* - streaming-session-backup
* - studio
* - studio-component
*
* @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');
}
/**
* Filters access by the createdBy request parameter or the ID of the creator of the resource
*
* https://docs.aws.amazon.com/nimble-studio/latest/userguide/security-iam-service-with-iam.html
*
* Applies to actions:
* - .toCreateStreamingSessionStream()
* - .toDeleteStreamingSession()
* - .toGetStreamingSession()
* - .toGetStreamingSessionStream()
* - .toListStreamingSessions()
* - .toListTagsForResource()
* - .toStartStreamingSession()
* - .toStopStreamingSession()
* - .toTagResource()
* - .toUntagResource()
*
* Applies to resource types:
* - streaming-session
*
* @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`
*/
ifCreatedBy(value, operator) {
return this.if(`createdBy`, value, operator ?? 'StringLike');
}
/**
* Filters access by the ownedBy request parameter or the ID of the owner of the resource
*
* https://docs.aws.amazon.com/nimble-studio/latest/userguide/security-iam-service-with-iam.html
*
* Applies to actions:
* - .toCreateStreamingSessionStream()
* - .toDeleteStreamingSession()
* - .toGetStreamingSession()
* - .toGetStreamingSessionBackup()
* - .toGetStreamingSessionStream()
* - .toListStreamingSessions()
* - .toListTagsForResource()
* - .toStartStreamingSession()
* - .toStopStreamingSession()
* - .toTagResource()
* - .toUntagResource()
*
* Applies to resource types:
* - streaming-session
* - streaming-session-backup
*
* @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`
*/
ifOwnedBy(value, operator) {
return this.if(`ownedBy`, value, operator ?? 'StringLike');
}
/**
* Filters access by the principalId request parameter
*
* https://docs.aws.amazon.com/nimble-studio/latest/userguide/security-iam-service-with-iam.html
*
* Applies to actions:
* - .toListLaunchProfiles()
*
* @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`
*/
ifPrincipalId(value, operator) {
return this.if(`principalId`, value, operator ?? 'StringLike');
}
/**
* Filters access by the ID of the logged in user
*
* https://docs.aws.amazon.com/nimble-studio/latest/userguide/security-iam-service-with-iam.html
*
* Applies to actions:
* - .toCreateStreamingSessionStream()
* - .toDeleteStreamingSession()
* - .toGetStreamingSession()
* - .toGetStreamingSessionBackup()
* - .toGetStreamingSessionStream()
* - .toListLaunchProfiles()
* - .toListStreamingSessionBackups()
* - .toListStreamingSessions()
* - .toStartStreamingSession()
* - .toStopStreamingSession()
*
* @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`
*/
ifRequesterPrincipalId(value, operator) {
return this.if(`requesterPrincipalId`, value, operator ?? 'StringLike');
}
/**
* Filters access by a specific studio
*
* https://docs.aws.amazon.com/nimble-studio/latest/userguide/security-iam-service-with-iam.html
*
* Applies to actions:
* - .toCreateLaunchProfile()
* - .toCreateStreamingImage()
* - .toCreateStreamingSession()
* - .toCreateStudio()
* - .toCreateStudioComponent()
* - .toDeleteLaunchProfile()
* - .toDeleteLaunchProfileMember()
* - .toDeleteStreamingImage()
* - .toDeleteStudio()
* - .toDeleteStudioComponent()
* - .toDeleteStudioMember()
* - .toGetLaunchProfile()
* - .toGetLaunchProfileDetails()
* - .toGetLaunchProfileInitialization()
* - .toGetLaunchProfileMember()
* - .toGetStreamingImage()
* - .toGetStudio()
* - .toGetStudioComponent()
* - .toGetStudioMember()
* - .toListEulaAcceptances()
* - .toListLaunchProfileMembers()
* - .toListLaunchProfiles()
* - .toListStreamingImages()
* - .toListStreamingSessionBackups()
* - .toListStreamingSessions()
* - .toListStudioComponents()
* - .toListStudioMembers()
* - .toListTagsForResource()
* - .toPutLaunchProfileMembers()
* - .toPutStudioMembers()
* - .toStartStudioSSOConfigurationRepair()
* - .toTagResource()
* - .toUntagResource()
* - .toUpdateLaunchProfile()
* - .toUpdateLaunchProfileMember()
* - .toUpdateStreamingImage()
* - .toUpdateStudio()
* - .toUpdateStudioComponent()
* - .toPutStudioLogEvents()
*
* Applies to resource types:
* - eula-acceptance
* - launch-profile
* - streaming-image
* - studio
* - studio-component
*
* @param value The value(s) to check
* @param operator Works with [arn operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_ARN). **Default:** `ArnLike`
*/
ifStudioId(value, operator) {
return this.if(`studioId`, value, operator ?? 'ArnLike');
}
/**
* Statement provider for service [nimble](https://docs.aws.amazon.com/service-authorization/latest/reference/list_nimble.html).
*
*/
constructor(props) {
super(props);
this.servicePrefix = 'nimble';
this.accessLevelList = {
Write: [
'AcceptEulas',
'CreateLaunchProfile',
'CreateStreamingImage',
'CreateStreamingSession',
'CreateStreamingSessionStream',
'CreateStudio',
'CreateStudioComponent',
'DeleteLaunchProfile',
'DeleteLaunchProfileMember',
'DeleteStreamingImage',
'DeleteStreamingSession',
'DeleteStudio',
'DeleteStudioComponent',
'DeleteStudioMember',
'PutLaunchProfileMembers',
'PutStudioMembers',
'StartStreamingSession',
'StartStudioSSOConfigurationRepair',
'StopStreamingSession',
'TagResource',
'UntagResource',
'UpdateLaunchProfile',
'UpdateLaunchProfileMember',
'UpdateStreamingImage',
'UpdateStudio',
'UpdateStudioComponent',
'PutStudioLogEvents'
],
Read: [
'GetEula',
'GetLaunchProfile',
'GetLaunchProfileDetails',
'GetLaunchProfileInitialization',
'GetLaunchProfileMember',
'GetStreamingImage',
'GetStreamingSession',
'GetStreamingSessionBackup',
'GetStreamingSessionStream',
'GetStudio',
'GetStudioComponent',
'GetStudioMember',
'ListEulaAcceptances',
'ListEulas',
'ListLaunchProfileMembers',
'ListLaunchProfiles',
'ListStreamingImages',
'ListStreamingSessionBackups',
'ListStreamingSessions',
'ListStudioComponents',
'ListStudioMembers',
'ListStudios',
'ListTagsForResource',
'GetFeatureMap'
],
Tagging: [
'TagResource',
'UntagResource'
]
};
}
}
exports.Nimble = Nimble;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmltYmxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsibmltYmxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHlDQUF5RDtBQUd6RDs7OztHQUlHO0FBQ0gsTUFBYSxNQUFPLFNBQVEsd0JBQWU7SUFHekM7Ozs7OztPQU1HO0lBQ0ksYUFBYTtRQUNsQixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLHFCQUFxQjtRQUMxQixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksc0JBQXNCO1FBQzNCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSx3QkFBd0I7UUFDN0IsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLHdCQUF3QixDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLDhCQUE4QjtRQUNuQyxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsOEJBQThCLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksY0FBYztRQUNuQixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLHVCQUF1QjtRQUM1QixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0kscUJBQXFCO1FBQzFCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSwyQkFBMkI7UUFDaEMsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLDJCQUEyQixDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLHNCQUFzQjtRQUMzQixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksd0JBQXdCO1FBQzdCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxjQUFjO1FBQ25CLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksdUJBQXVCO1FBQzVCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxvQkFBb0I7UUFDekIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLFNBQVM7UUFDZCxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLGtCQUFrQjtRQUN2QixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0kseUJBQXlCO1FBQzlCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxnQ0FBZ0M7UUFDckMsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLGdDQUFnQyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLHdCQUF3QjtRQUM3QixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsd0JBQXdCLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksbUJBQW1CO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxxQkFBcUI7UUFDMUIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLDJCQUEyQjtRQUNoQyxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsMkJBQTJCLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksMkJBQTJCO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxXQUFXO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksb0JBQW9CO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxpQkFBaUI7UUFDdEIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLHFCQUFxQjtRQUMxQixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksV0FBVztRQUNoQixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLDBCQUEwQjtRQUMvQixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsMEJBQTBCLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksb0JBQW9CO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxxQkFBcUI7UUFDMUIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLDZCQUE2QjtRQUNsQyxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsNkJBQTZCLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksdUJBQXVCO1FBQzVCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxzQkFBc0I7UUFDM0IsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLHNCQUFzQixDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLG1CQUFtQjtRQUN4QixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksYUFBYTtRQUNsQixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLHFCQUFxQjtRQUMxQixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0kseUJBQXlCO1FBQzlCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxrQkFBa0I7UUFDdkIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLHVCQUF1QjtRQUM1QixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksbUNBQW1DO1FBQ3hDLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxzQkFBc0I7UUFDM0IsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLHNCQUFzQixDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLGFBQWE7UUFDbEIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxlQUFlO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0kscUJBQXFCO1FBQzFCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSwyQkFBMkI7UUFDaEMsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLDJCQUEyQixDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLHNCQUFzQjtRQUMzQixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksY0FBYztRQUNuQixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLHVCQUF1QjtRQUM1QixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksZUFBZTtRQUNwQixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLG9CQUFvQjtRQUN6QixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBZ0VEOzs7Ozs7Ozs7T0FTRztJQUNJLE1BQU0sQ0FBQyxNQUFjLEVBQUUsT0FBZ0IsRUFBRSxNQUFlLEVBQUUsU0FBa0I7UUFDakYsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLE9BQVEsU0FBUyxJQUFJLElBQUksQ0FBQyxnQkFBaUIsV0FBWSxNQUFNLElBQUksSUFBSSxDQUFDLGFBQWMsSUFBSyxPQUFPLElBQUksSUFBSSxDQUFDLGNBQWUsU0FBVSxNQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQzlKLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7O09BWUc7SUFDSSxnQkFBZ0IsQ0FBQyxnQkFBd0IsRUFBRSxPQUFnQixFQUFFLE1BQWUsRUFBRSxTQUFrQjtRQUNyRyxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsT0FBUSxTQUFTLElBQUksSUFBSSxDQUFDLGdCQUFpQixXQUFZLE1BQU0sSUFBSSxJQUFJLENBQUMsYUFBYyxJQUFLLE9BQU8sSUFBSSxJQUFJLENBQUMsY0FBZSxvQkFBcUIsZ0JBQWlCLEVBQUUsQ0FBQyxDQUFDO0lBQ25MLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7Ozs7O09BZUc7SUFDSSxlQUFlLENBQUMsZUFBdUIsRUFBRSxPQUFnQixFQUFFLE1BQWUsRUFBRSxTQUFrQjtRQUNuRyxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsT0FBUSxTQUFTLElBQUksSUFBSSxDQUFDLGdCQUFpQixXQUFZLE1BQU0sSUFBSSxJQUFJLENBQUMsYUFBYyxJQUFLLE9BQU8sSUFBSSxJQUFJLENBQUMsY0FBZSxtQkFBb0IsZUFBZ0IsRUFBRSxDQUFDLENBQUM7SUFDakwsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7Ozs7T0FlRztJQUNJLGdCQUFnQixDQUFDLGdCQUF3QixFQUFFLE9BQWdCLEVBQUUsTUFBZSxFQUFFLFNBQWtCO1FBQ3JHLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFRLFNBQVMsSUFBSSxJQUFJLENBQUMsZ0JBQWlCLFdBQVksTUFBTSxJQUFJLElBQUksQ0FBQyxhQUFjLElBQUssT0FBTyxJQUFJLElBQUksQ0FBQyxjQUFlLG9CQUFxQixnQkFBaUIsRUFBRSxDQUFDLENBQUM7SUFDbkwsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7Ozs7O09BZ0JHO0lBQ0ksa0JBQWtCLENBQUMsa0JBQTBCLEVBQUUsT0FBZ0IsRUFBRSxNQUFlLEVBQUUsU0FBa0I7UUFDekcsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLE9BQVEsU0FBUyxJQUFJLElBQUksQ0FBQyxnQkFBaUIsV0FBWSxNQUFNLElBQUksSUFBSSxDQUFDLGFBQWMsSUFBSyxPQUFPLElBQUksSUFBSSxDQUFDLGNBQWUsc0JBQXVCLGtCQUFtQixFQUFFLENBQUMsQ0FBQztJQUN2TCxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7OztPQWVHO0lBQ0ksd0JBQXdCLENBQUMsd0JBQWdDLEVBQUUsT0FBZ0IsRUFBRSxNQUFlLEVBQUUsU0FBa0I7UUFDckgsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLE9BQVEsU0FBUyxJQUFJLElBQUksQ0FBQyxnQkFBaUIsV0FBWSxNQUFNLElBQUksSUFBSSxDQUFDLGFBQWMsSUFBSyxPQUFPLElBQUksSUFBSSxDQUFDLGNBQWUsNkJBQThCLHdCQUF5QixFQUFFLENBQUMsQ0FBQztJQUNwTSxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7OztPQWVHO0lBQ0ksUUFBUSxDQUFDLFFBQWdCLEVBQUUsT0FBZ0IsRUFBRSxNQUFlLEVBQUUsU0FBa0I7UUFDckYsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLE9BQVEsU0FBUyxJQUFJLElBQUksQ0FBQyxnQkFBaUIsV0FBWSxNQUFNLElBQUksSUFBSSxDQUFDLGFBQWMsSUFBSyxPQUFPLElBQUksSUFBSSxDQUFDLGNBQWUsV0FBWSxRQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQ2xLLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7Ozs7O09BZUc7SUFDSSxpQkFBaUIsQ0FBQyxpQkFBeUIsRUFBRSxPQUFnQixFQUFFLE1BQWUsRUFBRSxTQUFrQjtRQUN2RyxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsT0FBUSxTQUFTLElBQUksSUFBSSxDQUFDLGdCQUFpQixXQUFZLE1BQU0sSUFBSSxJQUFJLENBQUMsYUFBYyxJQUFLLE9BQU8sSUFBSSxJQUFJLENBQUMsY0FBZSxxQkFBc0IsaUJBQWtCLEVBQUUsQ0FBQyxDQUFDO0lBQ3JMLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O09BK0RHO0lBQ0ksZUFBZSxDQUFDLE1BQWMsRUFBRSxLQUF3QixFQUFFLFFBQTRCO1FBQzNGLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxrQkFBbUIsTUFBTyxFQUFFLEVBQUUsS0FBSyxFQUFFLFFBQVEsSUFBSSxZQUFZLENBQUMsQ0FBQztJQUNoRixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQStERztJQUNJLGdCQUFnQixDQUFDLE1BQWMsRUFBRSxLQUF3QixFQUFFLFFBQTRCO1FBQzVGLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxtQkFBb0IsTUFBTyxFQUFFLEVBQUUsS0FBSyxFQUFFLFFBQVEsSUFBSSxZQUFZLENBQUMsQ0FBQztJQUNqRixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O09BOERHO0lBQ0ksWUFBWSxDQUFDLEtBQXdCLEVBQUUsUUFBNEI7UUFDeEUsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxLQUFLLEVBQUUsUUFBUSxJQUFJLFlBQVksQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQXNCRztJQUNJLFdBQVcsQ0FBQyxLQUF3QixFQUFFLFFBQTRCO1FBQ3ZFLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxXQUFXLEVBQUUsS0FBSyxFQUFFLFFBQVEsSUFBSSxZQUFZLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQXdCRztJQUNJLFNBQVMsQ0FBQyxLQUF3QixFQUFFLFFBQTRCO1FBQ3JFLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLFFBQVEsSUFBSSxZQUFZLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7T0FVRztJQUNJLGFBQWEsQ0FBQyxLQUF3QixFQUFFLFFBQTRCO1FBQ3pFLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsS0FBSyxFQUFFLFFBQVEsSUFBSSxZQUFZLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0FtQkc7SUFDSSxzQkFBc0IsQ0FBQyxLQUF3QixFQUFFLFFBQTRCO1FBQ2xGLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxzQ