UNPKG

cdk-iam-floyd

Version:

AWS IAM policy statement generator with fluent interface for AWS CDK

1,390 lines 133 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.A4b = void 0; const shared_1 = require("../../shared"); /** * Statement provider for service [a4b](https://docs.aws.amazon.com/service-authorization/latest/reference/list_alexaforbusiness.html). * * @param sid [SID](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_sid.html) of the statement */ class A4b extends shared_1.PolicyStatement { /** * Grants permission to associate a skill with the organization under the customer's AWS account * * Access Level: Write * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_ApproveSkill.html */ toApproveSkill() { return this.to('ApproveSkill'); } /** * Grants permission to associate a contact with a given address book * * Access Level: Write * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_AssociateContactWithAddressBook.html */ toAssociateContactWithAddressBook() { return this.to('AssociateContactWithAddressBook'); } /** * Grants permission to associate a device with the specified network profile * * Access Level: Write * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_AssociateDeviceWithNetworkProfile.html */ toAssociateDeviceWithNetworkProfile() { return this.to('AssociateDeviceWithNetworkProfile'); } /** * Grants permission to associate device with given room * * Access Level: Write * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_AssociateDeviceWithRoom.html */ toAssociateDeviceWithRoom() { return this.to('AssociateDeviceWithRoom'); } /** * Grants permission to associate the skill group with given room * * Access Level: Write * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_AssociateSkillGroupWithRoom.html */ toAssociateSkillGroupWithRoom() { return this.to('AssociateSkillGroupWithRoom'); } /** * Grants permission to associate a skill with a skill group * * Access Level: Write * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_AssociateSkillWithSkillGroup.html */ toAssociateSkillWithSkillGroup() { return this.to('AssociateSkillWithSkillGroup'); } /** * Grants permission to make a private skill available for enrolled users to enable on their devices * * Access Level: Write * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_AssociateSkillWithUsers.html */ toAssociateSkillWithUsers() { return this.to('AssociateSkillWithUsers'); } /** * Grants permission to complete the operation of registering an Alexa device * * Access Level: Write * * https://docs.aws.amazon.com/a4b/latest/ag/manage-devices.html */ toCompleteRegistration() { return this.to('CompleteRegistration'); } /** * Grants permission to create an address book with the specified details * * Access Level: Write * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_CreateAddressBook.html */ toCreateAddressBook() { return this.to('CreateAddressBook'); } /** * Grants permission to create a recurring schedule for usage reports to deliver to the specified S3 location with a specified daily or weekly interval * * Access Level: Write * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_CreateBusinessReportSchedule.html */ toCreateBusinessReportSchedule() { return this.to('CreateBusinessReportSchedule'); } /** * Grants permission to add a new conference provider under the user's AWS account * * Access Level: Write * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_CreateConferenceProvider.html */ toCreateConferenceProvider() { return this.to('CreateConferenceProvider'); } /** * Grants permission to create a contact with the specified details * * Access Level: Write * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_CreateContact.html */ toCreateContact() { return this.to('CreateContact'); } /** * Grants permission to create a gateway group with the specified details * * Access Level: Write * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_CreateGatewayGroup.html */ toCreateGatewayGroup() { return this.to('CreateGatewayGroup'); } /** * Grants permission to create a network profile with the specified details * * Access Level: Write * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_CreateNetworkProfile.html */ toCreateNetworkProfile() { return this.to('CreateNetworkProfile'); } /** * Grants permission to create a new profile * * Access Level: Write * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_CreateProfile.html */ toCreateProfile() { return this.to('CreateProfile'); } /** * Grants permission to create room with the specified details * * Access Level: Write * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_CreateRoom.html */ toCreateRoom() { return this.to('CreateRoom'); } /** * Grants permission to create a skill group with given name and description * * Access Level: Write * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_CreateSkillGroup.html */ toCreateSkillGroup() { return this.to('CreateSkillGroup'); } /** * Grants permission to create a user * * Access Level: Write * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_CreateUser.html */ toCreateUser() { return this.to('CreateUser'); } /** * Grants permission to delete an address book by the address book ARN * * Access Level: Write * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_DeleteAddressBook.html */ toDeleteAddressBook() { return this.to('DeleteAddressBook'); } /** * Grants permission to delete the recurring report delivery schedule with the specified schedule ARN * * Access Level: Write * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_DeleteBusinessReportSchedule.html */ toDeleteBusinessReportSchedule() { return this.to('DeleteBusinessReportSchedule'); } /** * Grants permission to delete a conference provider * * Access Level: Write * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_DeleteConferenceProvider.html */ toDeleteConferenceProvider() { return this.to('DeleteConferenceProvider'); } /** * Grants permission to delete a contact by the contact ARN * * Access Level: Write * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_DeleteContact.html */ toDeleteContact() { return this.to('DeleteContact'); } /** * Grants permission to remove a device from Alexa For Business * * Access Level: Write * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_DeleteDevice.html */ toDeleteDevice() { return this.to('DeleteDevice'); } /** * Grants permission to delete the device's entire previous history of voice input data and associated response data * * Access Level: Write * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_DeleteDeviceUsageData.html */ toDeleteDeviceUsageData() { return this.to('DeleteDeviceUsageData'); } /** * Grants permission to delete a gateway group * * Access Level: Write * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_DeleteGatewayGroup.html */ toDeleteGatewayGroup() { return this.to('DeleteGatewayGroup'); } /** * Grants permission to delete a network profile by the network profile ARN * * Access Level: Write * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_DeleteNetworkProfile.html */ toDeleteNetworkProfile() { return this.to('DeleteNetworkProfile'); } /** * Grants permission to delete profile by profile ARN * * Access Level: Write * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_DeleteProfile.html */ toDeleteProfile() { return this.to('DeleteProfile'); } /** * Grants permission to delete room * * Access Level: Write * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_DeleteRoom.html */ toDeleteRoom() { return this.to('DeleteRoom'); } /** * Grants permission to delete a parameter from a skill and room * * Access Level: Write * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_DeleteRoomSkillParameter.html */ toDeleteRoomSkillParameter() { return this.to('DeleteRoomSkillParameter'); } /** * Grants permission to unlink a third-party account from a skill * * Access Level: Write * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_DeleteSkillAuthorization.html */ toDeleteSkillAuthorization() { return this.to('DeleteSkillAuthorization'); } /** * Grants permission to delete skill group with skill group ARN * * Access Level: Write * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_DeleteSkillGroup.html */ toDeleteSkillGroup() { return this.to('DeleteSkillGroup'); } /** * Grants permission to delete a user * * Access Level: Write * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_DeleteUser.html */ toDeleteUser() { return this.to('DeleteUser'); } /** * Grants permission to disassociate a contact from a given address book * * Access Level: Write * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_DisassociateContactFromAddressBook.html */ toDisassociateContactFromAddressBook() { return this.to('DisassociateContactFromAddressBook'); } /** * Grants permission to disassociate device from its current room * * Access Level: Write * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_DisassociateDeviceFromRoom.html */ toDisassociateDeviceFromRoom() { return this.to('DisassociateDeviceFromRoom'); } /** * Grants permission to disassociate a skill from a skill group * * Access Level: Write * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_DisassociateSkillFromSkillGroup.html */ toDisassociateSkillFromSkillGroup() { return this.to('DisassociateSkillFromSkillGroup'); } /** * Grants permission to make a private skill unavailable for enrolled users and prevent them from enabling it on their devices * * Access Level: Write * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_DisassociateSkillFromUsers.html */ toDisassociateSkillFromUsers() { return this.to('DisassociateSkillFromUsers'); } /** * Grants permission to disassociate the skill group from given room * * Access Level: Write * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_DisassociateSkillGroupFromRoom.html */ toDisassociateSkillGroupFromRoom() { return this.to('DisassociateSkillGroupFromRoom'); } /** * Grants permission to forget smart home appliances associated to a room * * Access Level: Write * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_ForgetSmartHomeAppliances.html */ toForgetSmartHomeAppliances() { return this.to('ForgetSmartHomeAppliances'); } /** * Grants permission to get the address book details by the address book ARN * * Access Level: Read * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_GetAddressBook.html */ toGetAddressBook() { return this.to('GetAddressBook'); } /** * Grants permission to retrieve the existing conference preferences * * Access Level: Read * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_GetConferencePreference.html */ toGetConferencePreference() { return this.to('GetConferencePreference'); } /** * Grants permission to get details about a specific conference provider * * Access Level: Read * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_GetConferenceProvider.html */ toGetConferenceProvider() { return this.to('GetConferenceProvider'); } /** * Grants permission to get the contact details by the contact ARN * * Access Level: Read * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_GetContact.html */ toGetContact() { return this.to('GetContact'); } /** * Grants permission to get device details * * Access Level: Read * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_GetDevice.html */ toGetDevice() { return this.to('GetDevice'); } /** * Grants permission to retrieve the details of a gateway * * Access Level: Read * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_GetGateway.html */ toGetGateway() { return this.to('GetGateway'); } /** * Grants permission to retrieve the details of a gateway group * * Access Level: Read * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_GetGatewayGroup.html */ toGetGatewayGroup() { return this.to('GetGatewayGroup'); } /** * Grants permission to retrieve the configured values for the user enrollment invitation email template * * Access Level: Read * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_GetInvitationConfiguration.html */ toGetInvitationConfiguration() { return this.to('GetInvitationConfiguration'); } /** * Grants permission to get the network profile details by the network profile ARN * * Access Level: Read * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_GetNetworkProfile.html */ toGetNetworkProfile() { return this.to('GetNetworkProfile'); } /** * Grants permission to get profile when provided with Profile ARN * * Access Level: Read * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_GetProfile.html */ toGetProfile() { return this.to('GetProfile'); } /** * Grants permission to get room details * * Access Level: Read * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_GetRoom.html */ toGetRoom() { return this.to('GetRoom'); } /** * Grants permission to get an existing parameter that has been set for a skill and room * * Access Level: Read * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_GetRoomSkillParameter.html */ toGetRoomSkillParameter() { return this.to('GetRoomSkillParameter'); } /** * Grants permission to get skill group details with skill group ARN * * Access Level: Read * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_GetSkillGroup.html */ toGetSkillGroup() { return this.to('GetSkillGroup'); } /** * Grants permission to list the details of the schedules that a user configured * * Access Level: List * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_ListBusinessReportSchedules.html */ toListBusinessReportSchedules() { return this.to('ListBusinessReportSchedules'); } /** * Grants permission to list conference providers under a specific AWS account * * Access Level: List * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_ListConferenceProviders.html */ toListConferenceProviders() { return this.to('ListConferenceProviders'); } /** * Grants permission to list the device event history, including device connection status, for up to 30 days * * Access Level: List * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_ListDeviceEvents.html */ toListDeviceEvents() { return this.to('ListDeviceEvents'); } /** * Grants permission to list gateway group summaries * * Access Level: List * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_ListGatewayGroups.html */ toListGatewayGroups() { return this.to('ListGatewayGroups'); } /** * Grants permission to list gateway summaries * * Access Level: List * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_ListGateways.html */ toListGateways() { return this.to('ListGateways'); } /** * Grants permission to list skills * * Access Level: List * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_ListSkills.html */ toListSkills() { return this.to('ListSkills'); } /** * Grants permission to list all categories in the Alexa skill store * * Access Level: List * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_ListSkillsStoreCategories.html */ toListSkillsStoreCategories() { return this.to('ListSkillsStoreCategories'); } /** * Grants permission to list all skills in the Alexa skill store by category * * Access Level: List * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_ListSkillsStoreSkillsByCategory.html */ toListSkillsStoreSkillsByCategory() { return this.to('ListSkillsStoreSkillsByCategory'); } /** * Grants permission to list all of the smart home appliances associated with a room * * Access Level: List * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_ListSmartHomeAppliances.html */ toListSmartHomeAppliances() { return this.to('ListSmartHomeAppliances'); } /** * Grants permission to list all tags on a resource * * Access Level: Read * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_ListTags.html */ toListTags() { return this.to('ListTags'); } /** * Grants permission to set the conference preferences on a specific conference provider at the account level * * Access Level: Write * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_PutConferencePreference.html */ toPutConferencePreference() { return this.to('PutConferencePreference'); } /** * Grants permission to publish Alexa device setup events * * Access Level: Write * * https://docs.aws.amazon.com/a4b/latest/ag/manage-devices.html */ toPutDeviceSetupEvents() { return this.to('PutDeviceSetupEvents'); } /** * Grants permission to configure the email template for the user enrollment invitation with the specified attributes * * Access Level: Write * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_PutInvitationConfiguration.html */ toPutInvitationConfiguration() { return this.to('PutInvitationConfiguration'); } /** * Grants permission to put a room specific parameter for a skill * * Access Level: Write * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_PutRoomSkillParameter.html */ toPutRoomSkillParameter() { return this.to('PutRoomSkillParameter'); } /** * Grants permission to link a user's account to a third-party skill provider * * Access Level: Write * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_PutSkillAuthorization.html */ toPutSkillAuthorization() { return this.to('PutSkillAuthorization'); } /** * Grants permission to register an Alexa-enabled device built by an Original Equipment Manufacturer (OEM) using Alexa Voice Service (AVS) * * Access Level: Write * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_RegisterAVSDevice.html */ toRegisterAVSDevice() { return this.to('RegisterAVSDevice'); } /** * Grants permission to register an Alexa device * * Access Level: Write * * https://docs.aws.amazon.com/a4b/latest/ag/manage-devices.html */ toRegisterDevice() { return this.to('RegisterDevice'); } /** * Grants permission to disassociate a skill from the organization under a user's AWS account * * Access Level: Write * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_RejectSkill.html */ toRejectSkill() { return this.to('RejectSkill'); } /** * Grants permission to resolve room information * * Access Level: Read * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_ResolveRoom.html */ toResolveRoom() { return this.to('ResolveRoom'); } /** * Grants permission to revoke an invitation * * Access Level: Write * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_RevokeInvitation.html */ toRevokeInvitation() { return this.to('RevokeInvitation'); } /** * Grants permission to search address books and list the ones that meet a set of filter and sort criteria * * Access Level: List * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_SearchAddressBooks.html */ toSearchAddressBooks() { return this.to('SearchAddressBooks'); } /** * Grants permission to search contacts and list the ones that meet a set of filter and sort criteria * * Access Level: List * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_SearchContacts.html */ toSearchContacts() { return this.to('SearchContacts'); } /** * Grants permission to search for devices * * Access Level: List * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_SearchDevices.html */ toSearchDevices() { return this.to('SearchDevices'); } /** * Grants permission to search network profiles and list the ones that meet a set of filter and sort criteria * * Access Level: List * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_SearchNetworkProfiles.html */ toSearchNetworkProfiles() { return this.to('SearchNetworkProfiles'); } /** * Grants permission to search for profiles * * Access Level: List * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_SearchProfiles.html */ toSearchProfiles() { return this.to('SearchProfiles'); } /** * Grants permission to search for rooms * * Access Level: List * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_SearchRooms.html */ toSearchRooms() { return this.to('SearchRooms'); } /** * Grants permission to search for skill groups * * Access Level: List * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_SearchSkillGroups.html */ toSearchSkillGroups() { return this.to('SearchSkillGroups'); } /** * Grants permission to search for users * * Access Level: List * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_SearchUsers.html */ toSearchUsers() { return this.to('SearchUsers'); } /** * Grants permission to trigger an asynchronous flow to send text, SSML, or audio announcements to rooms that are identified by a search or filter * * Access Level: Write * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_SendAnnouncement.html */ toSendAnnouncement() { return this.to('SendAnnouncement'); } /** * Grants permission to send an invitation to a user * * Access Level: Write * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_SendInvitation.html */ toSendInvitation() { return this.to('SendInvitation'); } /** * Grants permission to restore the device and its account to its known, default settings by clearing all information and settings set by its previous users * * Access Level: Write * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_StartDeviceSync.html */ toStartDeviceSync() { return this.to('StartDeviceSync'); } /** * Grants permission to initiate the discovery of any smart home appliances associated with the room * * Access Level: Read * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_StartSmartHomeApplianceDiscovery.html */ toStartSmartHomeApplianceDiscovery() { return this.to('StartSmartHomeApplianceDiscovery'); } /** * Grants permission to add metadata tags to a resource * * Access Level: Tagging * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_TagResource.html */ toTagResource() { return this.to('TagResource'); } /** * Grants permission to remove metadata tags from a resource * * Access Level: Tagging * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_UntagResource.html */ toUntagResource() { return this.to('UntagResource'); } /** * Grants permission to update address book details by the address book ARN * * Access Level: Write * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_UpdateAddressBook.html */ toUpdateAddressBook() { return this.to('UpdateAddressBook'); } /** * Grants permission to update the configuration of the report delivery schedule with the specified schedule ARN * * Access Level: Write * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_UpdateBusinessReportSchedule.html */ toUpdateBusinessReportSchedule() { return this.to('UpdateBusinessReportSchedule'); } /** * Grants permission to update an existing conference provider's settings * * Access Level: Write * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_UpdateConferenceProvider.html */ toUpdateConferenceProvider() { return this.to('UpdateConferenceProvider'); } /** * Grants permission to update the contact details by the contact ARN * * Access Level: Write * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_UpdateContact.html */ toUpdateContact() { return this.to('UpdateContact'); } /** * Grants permission to update device name * * Access Level: Write * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_UpdateDevice.html */ toUpdateDevice() { return this.to('UpdateDevice'); } /** * Grants permission to update the details of a gateway * * Access Level: Write * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_UpdateGateway.html */ toUpdateGateway() { return this.to('UpdateGateway'); } /** * Grants permission to update the details of a gateway group * * Access Level: Write * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_UpdateGatewayGroup.html */ toUpdateGatewayGroup() { return this.to('UpdateGatewayGroup'); } /** * Grants permission to update a network profile by the network profile ARN * * Access Level: Write * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_UpdateNetworkProfile.html */ toUpdateNetworkProfile() { return this.to('UpdateNetworkProfile'); } /** * Grants permission to update an existing profile * * Access Level: Write * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_UpdateProfile.html */ toUpdateProfile() { return this.to('UpdateProfile'); } /** * Grants permission to update room details * * Access Level: Write * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_UpdateRoom.html */ toUpdateRoom() { return this.to('UpdateRoom'); } /** * Grants permission to update skill group details with skill group ARN * * Access Level: Write * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_UpdateSkillGroup.html */ toUpdateSkillGroup() { return this.to('UpdateSkillGroup'); } /** * Adds a resource of type profile to the statement * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_Profile.html * * @param resourceId - Identifier for the resourceId. * @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. */ onProfile(resourceId, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:a4b:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:profile/${resourceId}`); } /** * Adds a resource of type room to the statement * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_Room.html * * @param resourceId - Identifier for the resourceId. * @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() */ onRoom(resourceId, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:a4b:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:room/${resourceId}`); } /** * Adds a resource of type device to the statement * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_Device.html * * @param resourceId - Identifier for the resourceId. * @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() */ onDevice(resourceId, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:a4b:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:device/${resourceId}`); } /** * Adds a resource of type skillgroup to the statement * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_SkillGroup.html * * @param resourceId - Identifier for the resourceId. * @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. */ onSkillgroup(resourceId, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:a4b:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:skill-group/${resourceId}`); } /** * Adds a resource of type user to the statement * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_UserData.html * * @param resourceId - Identifier for the resourceId. * @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() */ onUser(resourceId, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:a4b:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:user/${resourceId}`); } /** * Adds a resource of type addressbook to the statement * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_AddressBook.html * * @param resourceId - Identifier for the resourceId. * @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. */ onAddressbook(resourceId, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:a4b:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:address-book/${resourceId}`); } /** * Adds a resource of type conferenceprovider to the statement * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_ConferenceProvider.html * * @param resourceId - Identifier for the resourceId. * @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. */ onConferenceprovider(resourceId, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:a4b:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:conference-provider/${resourceId}`); } /** * Adds a resource of type contact to the statement * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_Contact.html * * @param resourceId - Identifier for the resourceId. * @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. */ onContact(resourceId, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:a4b:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:contact/${resourceId}`); } /** * Adds a resource of type schedule to the statement * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_BusinessReportSchedule.html * * @param resourceId - Identifier for the resourceId. * @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. */ onSchedule(resourceId, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:a4b:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:schedule/${resourceId}`); } /** * Adds a resource of type networkprofile to the statement * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_NetworkProfile.html * * @param resourceId - Identifier for the resourceId. * @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. */ onNetworkprofile(resourceId, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:a4b:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:network-profile/${resourceId}`); } /** * Adds a resource of type gateway to the statement * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_Gateway.html * * @param resourceId - Identifier for the resourceId. * @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. */ onGateway(resourceId, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:a4b:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:gateway/${resourceId}`); } /** * Adds a resource of type gatewaygroup to the statement * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_GatewayGroup.html * * @param resourceId - Identifier for the resourceId. * @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. */ onGatewaygroup(resourceId, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:a4b:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:gateway-group/${resourceId}`); } /** * Filters actions based on the Amazon Id in the request * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_RegisterAVSDevice.html * * @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` */ ifAmazonId(value, operator) { return this.if(`amazonId`, value, operator ?? 'StringLike'); } /** * Filters actions based on the device type in the request * * https://docs.aws.amazon.com/a4b/latest/APIReference/API_SearchDevices.html * * @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` */ ifFiltersDeviceType(value, operator) { return this.if(`filters_deviceType`, value, operator ?? 'StringLike'); } /** * Filters actions based on the allowed set of values for each of the tags * * https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-requesttag * * Applies to actions: * - .toCreateAddressBook() * - .toCreateBusinessReportSchedule() * - .toCreateConferenceProvider() * - .toCreateContact() * - .toCreateGatewayGroup() * - .toCreateNetworkProfile() * - .toCreateProfile() * - .toCreateRoom() * - .toCreateSkillGroup() * - .toCreateUser() * - .toRegisterAVSDevice() * - .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 actions based on tag-value assoicated with the resource * * https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-resourcetag * * Applies to resource types: * - room * - device * - user * * @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 actions based on the presence of mandatory tags in the request * * https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-tagkeys * * Applies to actions: * - .toCreateAddressBook() * - .toCreateBusinessReportSchedule() * - .toCreateConferenceProvider() * - .toCreateContact() * - .toCreateGatewayGroup() * - .toCreateNetworkProfile() * - .toCreateProfile() * - .toCreateRoom() * - .toCreateSkillGroup() * - .toCreateUser() * - .toRegisterAVSDevice() * - .toTagResource() * * @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'); } /** * Statement provider for service [a4b](https://docs.aws.amazon.com/service-authorization/latest/reference/list_alexaforbusiness.html). * */ constructor(props) { super(props); this.servicePrefix = 'a4b'; this.accessLevelList = { Write: [ 'ApproveSkill', 'AssociateContactWithAddressBook', 'AssociateDeviceWithNetworkProfile', 'AssociateDeviceWithRoom', 'AssociateSkillGroupWithRoom', 'AssociateSkillWithSkillGroup', 'AssociateSkillWithUsers', 'CompleteRegistration', 'CreateAddressBook', 'CreateBusinessReportSchedule', 'CreateConferenceProvider', 'CreateContact', 'CreateGatewayGroup', 'CreateNetworkProfile', 'CreateProfile', 'CreateRoom', 'CreateSkillGroup', 'CreateUser', 'DeleteAddressBook', 'DeleteBusinessReportSchedule', 'DeleteConferenceProvider', 'DeleteContact', 'DeleteDevice', 'DeleteDeviceUsageData', 'DeleteGatewayGroup', 'DeleteNetworkProfile', 'DeleteProfile', 'DeleteRoom', 'DeleteRoomSkillParameter', 'DeleteSkillAuthorization', 'DeleteSkillGroup', 'DeleteUser', 'DisassociateContactFromAddressBook', 'DisassociateDeviceFromRoom', 'DisassociateSkillFromSkillGroup', 'DisassociateSkillFromUsers', 'DisassociateSkillGroupFromRoom', 'ForgetSmartHomeAppliances', 'PutConferencePreference', 'PutDeviceSetupEvents', 'PutInvitationConfiguration', 'PutRoomSkillParameter', 'PutSkillAuthorization', 'RegisterAVSDevice', 'RegisterDevice', 'RejectSkill', 'RevokeInvitation', 'SendAnnouncement', 'SendInvitation', 'StartDeviceSync', 'UpdateAddressBook', 'UpdateBusinessReportSchedule', 'UpdateConferenceProvider', 'UpdateContact', 'UpdateDevice', 'UpdateGateway', 'UpdateGatewayGroup', 'UpdateNetworkProfile', 'UpdateProfile', 'UpdateRoom', 'UpdateSkillGroup' ], Read: [ 'GetAddressBook', 'GetConferencePreference', 'GetConferenceProvider', 'GetContact', 'GetDevice', 'GetGateway', 'GetGatewayGroup', 'GetInvitationConfiguration', 'GetNetworkProfile', 'GetProfile', 'GetRoom', 'GetRoomSkillParameter', 'GetSkillGroup', 'ListTags', 'ResolveRoom', 'StartSmartHomeApplianceDiscovery' ], List: [ 'ListBusinessReportSchedules', 'ListConferenceProviders', 'ListDeviceEvents', 'ListGatewayGroups', 'ListGateways', 'ListSkills', 'ListSkillsStoreCategories', 'ListSkillsStoreSkillsByCategory', 'ListSmartHomeAppliances', 'SearchAddressBooks', 'SearchContacts', 'SearchDevices', 'SearchNetworkProfiles', 'SearchProfiles', 'SearchRooms', 'SearchSkillGroups', 'SearchUsers' ], Tagging: [ 'TagResource', 'UntagResource' ] }; } } exports.A4b = A4b; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxleGFmb3JidXNpbmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImFsZXhhZm9yYnVzaW5lc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EseUNBQXlEO0FBR3pEOzs7O0dBSUc7QUFDSCxNQUFhLEdBQUksU0FBUSx3QkFBZTtJQUd0Qzs7Ozs7O09BTUc7SUFDSSxjQUFjO1FBQ25CLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksaUNBQWlDO1FBQ3RDLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO0lBQ3BE