cdk-iam-floyd
Version:
AWS IAM policy statement generator with fluent interface for AWS CDK
1,390 lines • 133 kB
JavaScript
"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