UNPKG

cdk-iam-floyd

Version:

AWS IAM policy statement generator with fluent interface for AWS CDK

936 lines (935 loc) 37.3 kB
import { AccessLevelList } from '../../shared/access-level'; import { PolicyStatement, Operator } from '../../shared'; import { aws_iam as iam } from "aws-cdk-lib"; /** * Statement provider for service [devicefarm](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsdevicefarm.html). * * @param sid [SID](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_sid.html) of the statement */ export declare class Devicefarm extends PolicyStatement { servicePrefix: string; /** * Grants permission to create a device pool within a project * * Access Level: Write * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_CreateDevicePool.html */ toCreateDevicePool(): this; /** * Grants permission to create a device instance profile * * Access Level: Write * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_CreateInstanceProfile.html */ toCreateInstanceProfile(): this; /** * Grants permission to create a network profile within a project * * Access Level: Write * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_CreateNetworkProfile.html */ toCreateNetworkProfile(): this; /** * Grants permission to create a project for mobile testing * * Access Level: Write * * Dependent actions: * - ec2:CreateNetworkInterface * - ec2:DescribeSecurityGroups * - ec2:DescribeSubnets * - ec2:DescribeVpcs * - iam:CreateServiceLinkedRole * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_CreateProject.html */ toCreateProject(): this; /** * Grants permission to start a remote access session to a device instance * * Access Level: Write * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_CreateRemoteAccessSession.html */ toCreateRemoteAccessSession(): this; /** * Grants permission to create a project for desktop testing * * Access Level: Write * * Dependent actions: * - ec2:CreateNetworkInterface * - ec2:DescribeSecurityGroups * - ec2:DescribeSubnets * - ec2:DescribeVpcs * - iam:CreateServiceLinkedRole * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_CreateTestGridProject.html */ toCreateTestGridProject(): this; /** * Grants permission to generate a new pre-signed url used to access our test grid service * * Access Level: Write * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_CreateTestGridUrl.html */ toCreateTestGridUrl(): this; /** * Grants permission to upload a new file or app within a project * * Access Level: Write * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_CreateUpload.html */ toCreateUpload(): this; /** * Grants permission to create an Amazon Virtual Private Cloud (VPC) endpoint configuration * * Access Level: Write * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_CreateVPCEConfiguration.html */ toCreateVPCEConfiguration(): this; /** * Grants permission to delete a user-generated device pool * * Access Level: Write * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_DeleteDevicePool.html */ toDeleteDevicePool(): this; /** * Grants permission to delete a user-generated instance profile * * Access Level: Write * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_DeleteInstanceProfile.html */ toDeleteInstanceProfile(): this; /** * Grants permission to delete a user-generated network profile * * Access Level: Write * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/DeleteNetworkProfile.html */ toDeleteNetworkProfile(): this; /** * Grants permission to delete a mobile testing project * * Access Level: Write * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_DeleteProject.html */ toDeleteProject(): this; /** * Grants permission to delete a completed remote access session and its results * * Access Level: Write * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_DeleteRemoteAccessSession.html */ toDeleteRemoteAccessSession(): this; /** * Grants permission to delete a run * * Access Level: Write * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_DeleteRun.html */ toDeleteRun(): this; /** * Grants permission to delete a desktop testing project * * Access Level: Write * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_DeleteTestGridProject.html */ toDeleteTestGridProject(): this; /** * Grants permission to delete a user-uploaded file * * Access Level: Write * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_DeleteUpload.html */ toDeleteUpload(): this; /** * Grants permission to delete an Amazon Virtual Private Cloud (VPC) endpoint configuration * * Access Level: Write * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_DeleteVPCEConfiguration.html */ toDeleteVPCEConfiguration(): this; /** * Grants permission to retrieve the number of unmetered iOS and/or unmetered Android devices purchased by the account * * Access Level: Read * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_GetAccountSettings.html */ toGetAccountSettings(): this; /** * Grants permission to retrieve the information of a unique device type * * Access Level: Read * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_GetDevice.html */ toGetDevice(): this; /** * Grants permission to retireve the information of a device instance * * Access Level: Read * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_GetDeviceInstance.html */ toGetDeviceInstance(): this; /** * Grants permission to retireve the information of a device pool * * Access Level: Read * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_GetDevicePool.html */ toGetDevicePool(): this; /** * Grants permission to retrieve information about the compatibility of a test and/or app with a device pool * * Access Level: Read * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_GetDevicePoolCompatibility.html */ toGetDevicePoolCompatibility(): this; /** * Grants permission to retireve the information of an instance profile * * Access Level: Read * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_GetInstanceProfile.html */ toGetInstanceProfile(): this; /** * Grants permission to retireve the information of a job * * Access Level: Read * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_GetJob.html */ toGetJob(): this; /** * Grants permission to retireve the information of a network profile * * Access Level: Read * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_GetNetworkProfile.html */ toGetNetworkProfile(): this; /** * Grants permission to retrieve the current status and future status of all offerings purchased by an AWS account * * Access Level: Read * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_GetOfferingStatus.html */ toGetOfferingStatus(): this; /** * Grants permission to retrieve information about a mobile testing project * * Access Level: Read * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_GetProject.html */ toGetProject(): this; /** * Grants permission to retireve the link to a currently running remote access session * * Access Level: Read * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_GetRemoteAccessSession.html */ toGetRemoteAccessSession(): this; /** * Grants permission to retireve the information of a run * * Access Level: Read * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_GetRun.html */ toGetRun(): this; /** * Grants permission to retireve the information of a testing suite * * Access Level: Read * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_GetSuite.html */ toGetSuite(): this; /** * Grants permission to retireve the information of a test case * * Access Level: Read * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_GetTest.html */ toGetTest(): this; /** * Grants permission to retrieve information about a desktop testing project * * Access Level: Read * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_GetTestGridProject.html */ toGetTestGridProject(): this; /** * Grants permission to retireve the information of a test grid session * * Access Level: Read * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_GetTestGridSession.html */ toGetTestGridSession(): this; /** * Grants permission to retireve the information of an uploaded file * * Access Level: Read * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_GetUpload.html */ toGetUpload(): this; /** * Grants permission to retireve the information of an Amazon Virtual Private Cloud (VPC) endpoint configuration * * Access Level: Read * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_GetVPCEConfiguration.html */ toGetVPCEConfiguration(): this; /** * Grants permission to install an application to a device in a remote access session * * Access Level: Write * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_InstallToRemoteAccessSession.html */ toInstallToRemoteAccessSession(): this; /** * Grants permission to list the artifacts in a project * * Access Level: List * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_ListArtifacts.html */ toListArtifacts(): this; /** * Grants permission to list the information of device instances * * Access Level: List * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_ListDeviceInstances.html */ toListDeviceInstances(): this; /** * Grants permission to list the information of device pools * * Access Level: List * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_ListDevicePools.html */ toListDevicePools(): this; /** * Grants permission to list the information of unique device types * * Access Level: List * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_ListDevices.html */ toListDevices(): this; /** * Grants permission to list the information of device instance profiles * * Access Level: List * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_ListInstanceProfiles.html */ toListInstanceProfiles(): this; /** * Grants permission to list the information of jobs within a run * * Access Level: List * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_ListJobs.html */ toListJobs(): this; /** * Grants permission to list the information of network profiles within a project * * Access Level: List * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_ListNetworkProfiles.html */ toListNetworkProfiles(): this; /** * Grants permission to list the offering promotions * * Access Level: List * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_ListOfferingPromotions.html */ toListOfferingPromotions(): this; /** * Grants permission to list all of the historical purchases, renewals, and system renewal transactions for an AWS account * * Access Level: List * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_ListOfferingTransactions.html */ toListOfferingTransactions(): this; /** * Grants permission to list the products or offerings that the user can manage through the API * * Access Level: List * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_ListOfferings.html */ toListOfferings(): this; /** * Grants permission to list the information of mobile testing projects for an AWS account * * Access Level: List * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_ListProjects.html */ toListProjects(): this; /** * Grants permission to list the information of currently running remote access sessions * * Access Level: List * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_ListRemoteAccessSessions.html */ toListRemoteAccessSessions(): this; /** * Grants permission to list the information of runs within a project * * Access Level: List * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_ListRuns.html */ toListRuns(): this; /** * Grants permission to list the information of samples within a project * * Access Level: List * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_ListSamples.html */ toListSamples(): this; /** * Grants permission to list the information of testing suites within a job * * Access Level: List * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_ListSuites.html */ toListSuites(): this; /** * Grants permission to list the tags of a resource * * Access Level: List * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_ListTagsForResource.html */ toListTagsForResource(): this; /** * Grants permission to list the information of desktop testing projects for an AWS account * * Access Level: List * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_ListTestGridProjects.html */ toListTestGridProjects(): this; /** * Grants permission to list the session actions performed during a test grid session * * Access Level: List * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_ListTestGridSessionActions.html */ toListTestGridSessionActions(): this; /** * Grants permission to list the artifacts generated by a test grid session * * Access Level: List * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_ListTestGridSessionArtifacts.html */ toListTestGridSessionArtifacts(): this; /** * Grants permission to list the sessions within a test grid project * * Access Level: List * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_ListTestGridSessions.html */ toListTestGridSessions(): this; /** * Grants permission to list the information of tests within a testing suite * * Access Level: List * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_ListTests.html */ toListTests(): this; /** * Grants permission to list the information of unique problems within a run * * Access Level: List * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_ListUniqueProblems.html */ toListUniqueProblems(): this; /** * Grants permission to list the information of uploads within a project * * Access Level: List * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_ListUploads.html */ toListUploads(): this; /** * Grants permission to list the information of Amazon Virtual Private Cloud (VPC) endpoint configurations * * Access Level: List * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_ListVPCEConfigurations.html */ toListVPCEConfigurations(): this; /** * Grants permission to purchase offerings for an AWS account * * Access Level: Write * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_PurchaseOffering.html */ toPurchaseOffering(): this; /** * Grants permission to set the quantity of devices to renew for an offering * * Access Level: Write * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_RenewOffering.html */ toRenewOffering(): this; /** * Grants permission to schedule a run * * Access Level: Write * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_ScheduleRun.html */ toScheduleRun(): this; /** * Grants permission to terminate a running job * * Access Level: Write * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_StopJob.html */ toStopJob(): this; /** * Grants permission to terminate a running remote access session * * Access Level: Write * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_StopRemoteAccessSession.html */ toStopRemoteAccessSession(): this; /** * Grants permission to terminate a running test run * * Access Level: Write * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_StopRun.html */ toStopRun(): this; /** * Grants permission to add tags to a resource * * Access Level: Tagging * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_TagResource.html */ toTagResource(): this; /** * Grants permission to remove tags from a resource * * Access Level: Tagging * * Possible conditions: * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_UntagResource.html */ toUntagResource(): this; /** * Grants permission to modify an existing device instance * * Access Level: Write * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_UpdateDeviceInstance.html */ toUpdateDeviceInstance(): this; /** * Grants permission to modify an existing device pool * * Access Level: Write * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_UpdateDevicePool.html */ toUpdateDevicePool(): this; /** * Grants permission to modify an existing instance profile * * Access Level: Write * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_UpdateInstanceProfile.html */ toUpdateInstanceProfile(): this; /** * Grants permission to modify an existing network profile * * Access Level: Write * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_UpdateNetworkProfile.html */ toUpdateNetworkProfile(): this; /** * Grants permission to modify an existing mobile testing project * * Access Level: Write * * Dependent actions: * - ec2:CreateNetworkInterface * - ec2:DescribeSecurityGroups * - ec2:DescribeSubnets * - ec2:DescribeVpcs * - iam:CreateServiceLinkedRole * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_UpdateProject.html */ toUpdateProject(): this; /** * Grants permission to modify an existing desktop testing project * * Access Level: Write * * Dependent actions: * - ec2:CreateNetworkInterface * - ec2:DescribeSecurityGroups * - ec2:DescribeSubnets * - ec2:DescribeVpcs * - iam:CreateServiceLinkedRole * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_UpdateTestGridProject.html */ toUpdateTestGridProject(): this; /** * Grants permission to modify an existing upload * * Access Level: Write * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_UpdateUpload.html */ toUpdateUpload(): this; /** * Grants permission to modify an existing Amazon Virtual Private Cloud (VPC) endpoint configuration * * Access Level: Write * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_UpdateVPCEConfiguration.html */ toUpdateVPCEConfiguration(): this; protected accessLevelList: AccessLevelList; /** * Adds a resource of type project to the statement * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_Project.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() */ onProject(resourceId: string, account?: string, region?: string, partition?: string): this; /** * Adds a resource of type run to the statement * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_Run.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() */ onRun(resourceId: string, account?: string, region?: string, partition?: string): this; /** * Adds a resource of type job to the statement * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_Job.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. */ onJob(resourceId: string, account?: string, region?: string, partition?: string): this; /** * Adds a resource of type suite to the statement * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_Suite.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. */ onSuite(resourceId: string, account?: string, region?: string, partition?: string): this; /** * Adds a resource of type test to the statement * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_Test.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. */ onTest(resourceId: string, account?: string, region?: string, partition?: string): this; /** * Adds a resource of type upload to the statement * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_Upload.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. */ onUpload(resourceId: string, account?: string, region?: string, partition?: string): this; /** * Adds a resource of type artifact to the statement * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_Artifact.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. */ onArtifact(resourceId: string, account?: string, region?: string, partition?: string): this; /** * Adds a resource of type sample to the statement * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_Sample.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. */ onSample(resourceId: string, account?: string, region?: string, partition?: string): this; /** * Adds a resource of type networkprofile to the statement * * https://docs.aws.amazon.com/devicefarm/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. * * Possible conditions: * - .ifAwsResourceTag() */ onNetworkprofile(resourceId: string, account?: string, region?: string, partition?: string): this; /** * Adds a resource of type deviceinstance to the statement * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_DeviceInstance.html * * @param resourceId - Identifier for the resourceId. * @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() */ onDeviceinstance(resourceId: string, region?: string, partition?: string): this; /** * Adds a resource of type session to the statement * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_RemoteAccessSession.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() */ onSession(resourceId: string, account?: string, region?: string, partition?: string): this; /** * Adds a resource of type devicepool to the statement * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_DevicePool.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() */ onDevicepool(resourceId: string, account?: string, region?: string, partition?: string): this; /** * Adds a resource of type device to the statement * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_Device.html * * @param resourceId - Identifier for the resourceId. * @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: string, region?: string, partition?: string): this; /** * Adds a resource of type instanceprofile to the statement * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_InstanceProfile.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() */ onInstanceprofile(resourceId: string, account?: string, region?: string, partition?: string): this; /** * Adds a resource of type vpceconfiguration to the statement * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_VPCEConfiguration.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() */ onVpceconfiguration(resourceId: string, account?: string, region?: string, partition?: string): this; /** * Adds a resource of type testgrid-project to the statement * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_TestGridProject.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() */ onTestgridProject(resourceId: string, account?: string, region?: string, partition?: string): this; /** * Adds a resource of type testgrid-session to the statement * * https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_TestGridSession.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() */ onTestgridSession(resourceId: string, account?: string, region?: string, partition?: string): this; /** * 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: * - .toTagResource() * * @param tagKey The tag key to check * @param value The value(s) to check * @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike` */ ifAwsRequestTag(tagKey: string, value: string | string[], operator?: Operator | string): this; /** * Filters 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: * - project * - run * - networkprofile * - deviceinstance * - session * - devicepool * - device * - instanceprofile * - vpceconfiguration * - testgrid-project * - testgrid-session * * @param tagKey The tag key to check * @param value The value(s) to check * @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike` */ ifAwsResourceTag(tagKey: string, value: string | string[], operator?: Operator | string): this; /** * Filters 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: * - .toTagResource() * - .toUntagResource() * * @param value The value(s) to check * @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike` */ ifAwsTagKeys(value: string | string[], operator?: Operator | string): this; /** * Statement provider for service [devicefarm](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsdevicefarm.html). * */ constructor(props?: iam.PolicyStatementProps); }