UNPKG

cdk-iam-floyd

Version:

AWS IAM policy statement generator with fluent interface for AWS CDK

1,003 lines 94.3 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Robomaker = void 0; const shared_1 = require("../../shared"); /** * Statement provider for service [robomaker](https://docs.aws.amazon.com/service-authorization/latest/reference/list_robomaker.html). * * @param sid [SID](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_sid.html) of the statement */ class Robomaker extends shared_1.PolicyStatement { /** * Delete one or more worlds in a batch operation * * Access Level: Write * * https://docs.aws.amazon.com/robomaker/latest/dg/API_BatchDeleteWorlds.html */ toBatchDeleteWorlds() { return this.to('BatchDeleteWorlds'); } /** * Describe multiple simulation jobs * * Access Level: Read * * https://docs.aws.amazon.com/robomaker/latest/dg/API_BatchDescribeSimulationJob.html */ toBatchDescribeSimulationJob() { return this.to('BatchDescribeSimulationJob'); } /** * Cancel a deployment job * * Access Level: Write * * https://docs.aws.amazon.com/robomaker/latest/dg/API_CancelDeploymentJob.html */ toCancelDeploymentJob() { return this.to('CancelDeploymentJob'); } /** * Cancel a simulation job * * Access Level: Write * * https://docs.aws.amazon.com/robomaker/latest/dg/API_CancelSimulationJob.html */ toCancelSimulationJob() { return this.to('CancelSimulationJob'); } /** * Cancel a simulation job batch * * Access Level: Write * * https://docs.aws.amazon.com/robomaker/latest/dg/API_CancelSimulationJobBatch.html */ toCancelSimulationJobBatch() { return this.to('CancelSimulationJobBatch'); } /** * Cancel a world export job * * Access Level: Write * * https://docs.aws.amazon.com/robomaker/latest/dg/API_CancelWorldExportJob.html */ toCancelWorldExportJob() { return this.to('CancelWorldExportJob'); } /** * Cancel a world generation job * * Access Level: Write * * https://docs.aws.amazon.com/robomaker/latest/dg/API_CancelWorldGenerationJob.html */ toCancelWorldGenerationJob() { return this.to('CancelWorldGenerationJob'); } /** * Create a deployment job * * Access Level: Write * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/robomaker/latest/dg/API_CreateDeploymentJob.html */ toCreateDeploymentJob() { return this.to('CreateDeploymentJob'); } /** * Create a deployment fleet that represents a logical group of robots running the same robot application * * Access Level: Write * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/robomaker/latest/dg/API_CreateFleet.html */ toCreateFleet() { return this.to('CreateFleet'); } /** * Create a robot that can be registered to a fleet * * Access Level: Write * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/robomaker/latest/dg/API_CreateRobot.html */ toCreateRobot() { return this.to('CreateRobot'); } /** * Create a robot application * * Access Level: Write * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/robomaker/latest/dg/API_CreateRobotApplication.html */ toCreateRobotApplication() { return this.to('CreateRobotApplication'); } /** * Create a snapshot of a robot application * * Access Level: Write * * https://docs.aws.amazon.com/robomaker/latest/dg/API_CreateRobotApplicationVersion.html */ toCreateRobotApplicationVersion() { return this.to('CreateRobotApplicationVersion'); } /** * Create a simulation application * * Access Level: Write * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/robomaker/latest/dg/API_CreateSimulationApplication.html */ toCreateSimulationApplication() { return this.to('CreateSimulationApplication'); } /** * Create a snapshot of a simulation application * * Access Level: Write * * https://docs.aws.amazon.com/robomaker/latest/dg/API_CreateSimulationApplicationVersion.html */ toCreateSimulationApplicationVersion() { return this.to('CreateSimulationApplicationVersion'); } /** * Create a simulation job * * Access Level: Write * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/robomaker/latest/dg/API_CreateSimulationJob.html */ toCreateSimulationJob() { return this.to('CreateSimulationJob'); } /** * Create a world export job * * Access Level: Write * * https://docs.aws.amazon.com/robomaker/latest/dg/API_CreateWorldExportJob.html */ toCreateWorldExportJob() { return this.to('CreateWorldExportJob'); } /** * Create a world generation job * * Access Level: Write * * https://docs.aws.amazon.com/robomaker/latest/dg/API_CreateWorldGenerationJob.html */ toCreateWorldGenerationJob() { return this.to('CreateWorldGenerationJob'); } /** * Create a world template * * Access Level: Write * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/robomaker/latest/dg/API_CreateWorldTemplate.html */ toCreateWorldTemplate() { return this.to('CreateWorldTemplate'); } /** * Delete a deployment fleet * * Access Level: Write * * https://docs.aws.amazon.com/robomaker/latest/dg/API_DeleteFleet.html */ toDeleteFleet() { return this.to('DeleteFleet'); } /** * Delete a robot * * Access Level: Write * * https://docs.aws.amazon.com/robomaker/latest/dg/API_DeleteRobot.html */ toDeleteRobot() { return this.to('DeleteRobot'); } /** * Delete a robot application * * Access Level: Write * * https://docs.aws.amazon.com/robomaker/latest/dg/API_DeleteRobotApplication.html */ toDeleteRobotApplication() { return this.to('DeleteRobotApplication'); } /** * Delete a simulation application * * Access Level: Write * * https://docs.aws.amazon.com/robomaker/latest/dg/API_DeleteSimulationApplication.html */ toDeleteSimulationApplication() { return this.to('DeleteSimulationApplication'); } /** * Delete a world template * * Access Level: Write * * https://docs.aws.amazon.com/robomaker/latest/dg/API_DeleteWorldTemplate.html */ toDeleteWorldTemplate() { return this.to('DeleteWorldTemplate'); } /** * Deregister a robot from a fleet * * Access Level: Write * * https://docs.aws.amazon.com/robomaker/latest/dg/API_DeregisterRobot.html */ toDeregisterRobot() { return this.to('DeregisterRobot'); } /** * Describe a deployment job * * Access Level: Read * * https://docs.aws.amazon.com/robomaker/latest/dg/API_DescribeDeploymentJob.html */ toDescribeDeploymentJob() { return this.to('DescribeDeploymentJob'); } /** * Describe a deployment fleet * * Access Level: Read * * https://docs.aws.amazon.com/robomaker/latest/dg/API_DescribeFleet.html */ toDescribeFleet() { return this.to('DescribeFleet'); } /** * Describe a robot * * Access Level: Read * * https://docs.aws.amazon.com/robomaker/latest/dg/API_DescribeRobot.html */ toDescribeRobot() { return this.to('DescribeRobot'); } /** * Describe a robot application * * Access Level: Read * * https://docs.aws.amazon.com/robomaker/latest/dg/API_DescribeRobotApplication.html */ toDescribeRobotApplication() { return this.to('DescribeRobotApplication'); } /** * Describe a simulation application * * Access Level: Read * * https://docs.aws.amazon.com/robomaker/latest/dg/API_DescribeSimulationApplication.html */ toDescribeSimulationApplication() { return this.to('DescribeSimulationApplication'); } /** * Describe a simulation job * * Access Level: Read * * https://docs.aws.amazon.com/robomaker/latest/dg/API_DescribeSimulationJob.html */ toDescribeSimulationJob() { return this.to('DescribeSimulationJob'); } /** * Describe a simulation job batch * * Access Level: Read * * https://docs.aws.amazon.com/robomaker/latest/dg/API_DescribeSimulationJobBatch.html */ toDescribeSimulationJobBatch() { return this.to('DescribeSimulationJobBatch'); } /** * Describe a world * * Access Level: Read * * https://docs.aws.amazon.com/robomaker/latest/dg/API_DescribeWorld.html */ toDescribeWorld() { return this.to('DescribeWorld'); } /** * Describe a world export job * * Access Level: Read * * https://docs.aws.amazon.com/robomaker/latest/dg/API_DescribeWorldExportJob.html */ toDescribeWorldExportJob() { return this.to('DescribeWorldExportJob'); } /** * Describe a world generation job * * Access Level: Read * * https://docs.aws.amazon.com/robomaker/latest/dg/API_DescribeWorldGenerationJob.html */ toDescribeWorldGenerationJob() { return this.to('DescribeWorldGenerationJob'); } /** * Describe a world template * * Access Level: Read * * https://docs.aws.amazon.com/robomaker/latest/dg/API_DescribeWorldTemplate.html */ toDescribeWorldTemplate() { return this.to('DescribeWorldTemplate'); } /** * Get the body of a world template * * Access Level: Read * * https://docs.aws.amazon.com/robomaker/latest/dg/API_GetWorldTemplateBody.html */ toGetWorldTemplateBody() { return this.to('GetWorldTemplateBody'); } /** * List deployment jobs * * Access Level: List * * https://docs.aws.amazon.com/robomaker/latest/dg/API_ListDeploymentJobs.html */ toListDeploymentJobs() { return this.to('ListDeploymentJobs'); } /** * List fleets * * Access Level: List * * https://docs.aws.amazon.com/robomaker/latest/dg/API_ListFleets.html */ toListFleets() { return this.to('ListFleets'); } /** * List robot applications * * Access Level: List * * https://docs.aws.amazon.com/robomaker/latest/dg/API_ListRobotApplications.html */ toListRobotApplications() { return this.to('ListRobotApplications'); } /** * List robots * * Access Level: List * * https://docs.aws.amazon.com/robomaker/latest/dg/API_ListRobots.html */ toListRobots() { return this.to('ListRobots'); } /** * List simulation applications * * Access Level: List * * https://docs.aws.amazon.com/robomaker/latest/dg/API_ListSimulationApplications.html */ toListSimulationApplications() { return this.to('ListSimulationApplications'); } /** * List simulation job batches * * Access Level: List * * https://docs.aws.amazon.com/robomaker/latest/dg/API_ListSimulationJobBatches.html */ toListSimulationJobBatches() { return this.to('ListSimulationJobBatches'); } /** * List simulation jobs * * Access Level: List * * https://docs.aws.amazon.com/robomaker/latest/dg/API_ListSimulationJobs.html */ toListSimulationJobs() { return this.to('ListSimulationJobs'); } /** * List tags for a RoboMaker resource * * Access Level: List * * https://docs.aws.amazon.com/robomaker/latest/dg/API_ListTagsForResource.html */ toListTagsForResource() { return this.to('ListTagsForResource'); } /** * List world export jobs * * Access Level: List * * https://docs.aws.amazon.com/robomaker/latest/dg/API_ListWorldExportJobs.html */ toListWorldExportJobs() { return this.to('ListWorldExportJobs'); } /** * List world generation jobs * * Access Level: List * * https://docs.aws.amazon.com/robomaker/latest/dg/API_ListWorldGenerationJobs.html */ toListWorldGenerationJobs() { return this.to('ListWorldGenerationJobs'); } /** * List world templates * * Access Level: List * * https://docs.aws.amazon.com/robomaker/latest/dg/API_ListWorldTemplates.html */ toListWorldTemplates() { return this.to('ListWorldTemplates'); } /** * List worlds * * Access Level: List * * https://docs.aws.amazon.com/robomaker/latest/dg/API_ListWorlds.html */ toListWorlds() { return this.to('ListWorlds'); } /** * Register a robot to a fleet * * Access Level: Write * * https://docs.aws.amazon.com/robomaker/latest/dg/API_RegisterRobot.html */ toRegisterRobot() { return this.to('RegisterRobot'); } /** * Restart a running simulation job * * Access Level: Write * * https://docs.aws.amazon.com/robomaker/latest/dg/API_RestartSimulationJob.html */ toRestartSimulationJob() { return this.to('RestartSimulationJob'); } /** * Create a simulation job batch * * Access Level: Write * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/robomaker/latest/dg/API_StartSimulationJobBatch.html */ toStartSimulationJobBatch() { return this.to('StartSimulationJobBatch'); } /** * Ensures the most recently deployed robot application is deployed to all robots in the fleet * * Access Level: Write * * https://docs.aws.amazon.com/robomaker/latest/dg/API_SyncDeploymentJob.html */ toSyncDeploymentJob() { return this.to('SyncDeploymentJob'); } /** * Add tags to a RoboMaker resource * * Access Level: Tagging, Write * * https://docs.aws.amazon.com/robomaker/latest/dg/API_TagResource.html */ toTagResource() { return this.to('TagResource'); } /** * Remove tags from a RoboMaker resource * * Access Level: Tagging, Write * * https://docs.aws.amazon.com/robomaker/latest/dg/API_UntagResource.html */ toUntagResource() { return this.to('UntagResource'); } /** * Update a robot application * * Access Level: Write * * https://docs.aws.amazon.com/robomaker/latest/dg/API_UpdateRobotApplication.html */ toUpdateRobotApplication() { return this.to('UpdateRobotApplication'); } /** * Update a simulation application * * Access Level: Write * * https://docs.aws.amazon.com/robomaker/latest/dg/API_UpdateSimulationApplication.html */ toUpdateSimulationApplication() { return this.to('UpdateSimulationApplication'); } /** * Update a world template * * Access Level: Write * * https://docs.aws.amazon.com/robomaker/latest/dg/API_UpdateWorldTemplate.html */ toUpdateWorldTemplate() { return this.to('UpdateWorldTemplate'); } /** * Lists supported availability zones * * Access Level: List */ toListSupportedAvailabilityZones() { return this.to('ListSupportedAvailabilityZones'); } /** * Report the deployment status for an individual robot * * Access Level: Write */ toUpdateRobotDeployment() { return this.to('UpdateRobotDeployment'); } /** * Adds a resource of type deploymentFleet to the statement * * https://docs.aws.amazon.com/robomaker/latest/dg/managing-simulation-applications.html * * @param fleetName - Identifier for the fleetName. * @param createdOnEpoch - Identifier for the createdOnEpoch. * @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() */ onDeploymentFleet(fleetName, createdOnEpoch, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:robomaker:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:deployment-fleet/${fleetName}/${createdOnEpoch}`); } /** * Adds a resource of type deploymentJob to the statement * * https://docs.aws.amazon.com/robomaker/latest/dg/deployment.html * * @param deploymentJobId - Identifier for the deploymentJobId. * @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() */ onDeploymentJob(deploymentJobId, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:robomaker:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:deployment-job/${deploymentJobId}`); } /** * Adds a resource of type robot to the statement * * https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html * * @param robotName - Identifier for the robotName. * @param createdOnEpoch - Identifier for the createdOnEpoch. * @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() */ onRobot(robotName, createdOnEpoch, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:robomaker:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:robot/${robotName}/${createdOnEpoch}`); } /** * Adds a resource of type robotApplication to the statement * * https://docs.aws.amazon.com/robomaker/latest/dg/managing-robot-applications.html * * @param applicationName - Identifier for the applicationName. * @param createdOnEpoch - Identifier for the createdOnEpoch. * @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() */ onRobotApplication(applicationName, createdOnEpoch, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:robomaker:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:robot-application/${applicationName}/${createdOnEpoch}`); } /** * Adds a resource of type simulationApplication to the statement * * https://docs.aws.amazon.com/robomaker/latest/dg/managing-simulation-applications.html * * @param applicationName - Identifier for the applicationName. * @param createdOnEpoch - Identifier for the createdOnEpoch. * @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() */ onSimulationApplication(applicationName, createdOnEpoch, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:robomaker:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:simulation-application/${applicationName}/${createdOnEpoch}`); } /** * Adds a resource of type simulationJob to the statement * * https://docs.aws.amazon.com/robomaker/latest/dg/simulation.html * * @param simulationJobId - Identifier for the simulationJobId. * @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() */ onSimulationJob(simulationJobId, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:robomaker:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:simulation-job/${simulationJobId}`); } /** * Adds a resource of type simulationJobBatch to the statement * * https://docs.aws.amazon.com/robomaker/latest/dg/simulation-job-batch.html * * @param simulationJobBatchId - Identifier for the simulationJobBatchId. * @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() */ onSimulationJobBatch(simulationJobBatchId, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:robomaker:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:simulation-job-batch/${simulationJobBatchId}`); } /** * Adds a resource of type world to the statement * * https://docs.aws.amazon.com/robomaker/latest/dg/worlds-managing-generated-worlds.html * * @param worldId - Identifier for the worldId. * @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() */ onWorld(worldId, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:robomaker:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:world/${worldId}`); } /** * Adds a resource of type worldExportJob to the statement * * https://docs.aws.amazon.com/robomaker/latest/dg/worlds-managing-export-jobs.html * * @param worldExportJobId - Identifier for the worldExportJobId. * @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() */ onWorldExportJob(worldExportJobId, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:robomaker:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:world-export-job/${worldExportJobId}`); } /** * Adds a resource of type worldGenerationJob to the statement * * https://docs.aws.amazon.com/robomaker/latest/dg/worlds-managing-generation-jobs.html * * @param worldGenerationJobId - Identifier for the worldGenerationJobId. * @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() */ onWorldGenerationJob(worldGenerationJobId, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:robomaker:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:world-generation-job/${worldGenerationJobId}`); } /** * Adds a resource of type worldTemplate to the statement * * https://docs.aws.amazon.com/robomaker/latest/dg/worlds-managing-simworld-templates.html * * @param worldTemplateJobId - Identifier for the worldTemplateJobId. * @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() */ onWorldTemplate(worldTemplateJobId, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:robomaker:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:world-template/${worldTemplateJobId}`); } /** * Filters access based on the tags that are passed in the request * * https://docs.aws.amazon.com/robomaker/latest/dg/tagging-resources-iam-policies.html * * Applies to actions: * - .toCreateDeploymentJob() * - .toCreateFleet() * - .toCreateRobot() * - .toCreateRobotApplication() * - .toCreateSimulationApplication() * - .toCreateSimulationJob() * - .toCreateWorldExportJob() * - .toCreateWorldGenerationJob() * - .toCreateWorldTemplate() * - .toStartSimulationJobBatch() * - .toTagResource() * * @param tagKey The tag key to check * @param value The value(s) to check * @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike` */ ifAwsRequestTag(tagKey, value, operator) { return this.if(`aws:RequestTag/${tagKey}`, value, operator ?? 'StringLike'); } /** * Filters access based on the tags associated with the resource * * https://docs.aws.amazon.com/robomaker/latest/dg/tagging-resources-iam-policies.html * * Applies to actions: * - .toCancelDeploymentJob() * - .toCancelSimulationJob() * - .toCancelSimulationJobBatch() * - .toCancelWorldExportJob() * - .toCancelWorldGenerationJob() * - .toCreateRobotApplicationVersion() * - .toCreateSimulationApplicationVersion() * - .toCreateWorldExportJob() * - .toCreateWorldGenerationJob() * - .toDeleteFleet() * - .toDeleteRobot() * - .toDeleteRobotApplication() * - .toDeleteSimulationApplication() * - .toDeleteWorldTemplate() * - .toDeregisterRobot() * - .toDescribeDeploymentJob() * - .toDescribeFleet() * - .toDescribeRobot() * - .toDescribeRobotApplication() * - .toDescribeSimulationApplication() * - .toDescribeSimulationJob() * - .toDescribeSimulationJobBatch() * - .toDescribeWorld() * - .toDescribeWorldExportJob() * - .toDescribeWorldGenerationJob() * - .toDescribeWorldTemplate() * - .toGetWorldTemplateBody() * - .toListTagsForResource() * - .toRegisterRobot() * - .toRestartSimulationJob() * - .toSyncDeploymentJob() * - .toTagResource() * - .toUntagResource() * - .toUpdateRobotApplication() * - .toUpdateSimulationApplication() * - .toUpdateWorldTemplate() * * Applies to resource types: * - deploymentFleet * - deploymentJob * - robot * - robotApplication * - simulationApplication * - simulationJob * - simulationJobBatch * - world * - worldExportJob * - worldGenerationJob * - worldTemplate * * @param tagKey The tag key to check * @param value The value(s) to check * @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike` */ ifAwsResourceTag(tagKey, value, operator) { return this.if(`aws:ResourceTag/${tagKey}`, value, operator ?? 'StringLike'); } /** * Filters access based on the tag keys that are passed in the request * * https://docs.aws.amazon.com/robomaker/latest/dg/tagging-resources-iam-policies.html * * Applies to actions: * - .toCreateDeploymentJob() * - .toCreateFleet() * - .toCreateRobot() * - .toCreateRobotApplication() * - .toCreateSimulationApplication() * - .toCreateSimulationJob() * - .toCreateWorldExportJob() * - .toCreateWorldGenerationJob() * - .toCreateWorldTemplate() * - .toStartSimulationJobBatch() * - .toTagResource() * - .toUntagResource() * * @param value The value(s) to check * @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike` */ ifAwsTagKeys(value, operator) { return this.if(`aws:TagKeys`, value, operator ?? 'StringLike'); } /** * Statement provider for service [robomaker](https://docs.aws.amazon.com/service-authorization/latest/reference/list_robomaker.html). * */ constructor(props) { super(props); this.servicePrefix = 'robomaker'; this.accessLevelList = { Write: [ 'BatchDeleteWorlds', 'CancelDeploymentJob', 'CancelSimulationJob', 'CancelSimulationJobBatch', 'CancelWorldExportJob', 'CancelWorldGenerationJob', 'CreateDeploymentJob', 'CreateFleet', 'CreateRobot', 'CreateRobotApplication', 'CreateRobotApplicationVersion', 'CreateSimulationApplication', 'CreateSimulationApplicationVersion', 'CreateSimulationJob', 'CreateWorldExportJob', 'CreateWorldGenerationJob', 'CreateWorldTemplate', 'DeleteFleet', 'DeleteRobot', 'DeleteRobotApplication', 'DeleteSimulationApplication', 'DeleteWorldTemplate', 'DeregisterRobot', 'RegisterRobot', 'RestartSimulationJob', 'StartSimulationJobBatch', 'SyncDeploymentJob', 'TagResource', 'UntagResource', 'UpdateRobotApplication', 'UpdateSimulationApplication', 'UpdateWorldTemplate', 'UpdateRobotDeployment' ], Read: [ 'BatchDescribeSimulationJob', 'DescribeDeploymentJob', 'DescribeFleet', 'DescribeRobot', 'DescribeRobotApplication', 'DescribeSimulationApplication', 'DescribeSimulationJob', 'DescribeSimulationJobBatch', 'DescribeWorld', 'DescribeWorldExportJob', 'DescribeWorldGenerationJob', 'DescribeWorldTemplate', 'GetWorldTemplateBody' ], List: [ 'ListDeploymentJobs', 'ListFleets', 'ListRobotApplications', 'ListRobots', 'ListSimulationApplications', 'ListSimulationJobBatches', 'ListSimulationJobs', 'ListTagsForResource', 'ListWorldExportJobs', 'ListWorldGenerationJobs', 'ListWorldTemplates', 'ListWorlds', 'ListSupportedAvailabilityZones' ], Tagging: [ 'TagResource', 'UntagResource' ] }; } } exports.Robomaker = Robomaker; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9ib21ha2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsicm9ib21ha2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHlDQUF5RDtBQUd6RDs7OztHQUlHO0FBQ0gsTUFBYSxTQUFVLFNBQVEsd0JBQWU7SUFHNUM7Ozs7OztPQU1HO0lBQ0ksbUJBQW1CO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSw0QkFBNEI7UUFDakMsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLDRCQUE0QixDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLHFCQUFxQjtRQUMxQixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0kscUJBQXFCO1FBQzFCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSwwQkFBMEI7UUFDL0IsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLDBCQUEwQixDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLHNCQUFzQjtRQUMzQixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksMEJBQTBCO1FBQy9CLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRDs7Ozs7Ozs7OztPQVVHO0lBQ0kscUJBQXFCO1FBQzFCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRDs7Ozs7Ozs7OztPQVVHO0lBQ0ksYUFBYTtRQUNsQixPQUFPLElBQUksQ0FBQyxF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O2FBQ3hCO1lBQ0QsSUFBSSxFQUFFO2dCQUNKLDRCQUE0QjtnQkFDNUIsdUJBQXVCO2dCQUN2QixlQUFlO2dCQUNmLGVBQWU7Z0JBQ2YsMEJBQTBCO2dCQUMxQiwrQkFBK0I7Z0JBQy9CLHVCQUF1QjtnQkFDdkIsNEJBQTRCO2dCQUM1QixlQUFlO2dCQUNmLHdCQUF3QjtnQkFDeEIsNEJBQTRCO2dCQUM1Qix1QkFBdUI7Z0JBQ3ZCLHNCQUFzQjthQUN2QjtZQUNELElBQUksRUFBRTtnQkFDSixvQkFBb0I7Z0JBQ3BCLFlBQVk7Z0JBQ1osdUJBQXVCO2dCQUN2QixZQUFZO2dCQUNaLDRCQUE0QjtnQkFDNUIsMEJBQTBCO2dCQUMxQixvQkFBb0I7Z0JBQ3BCLHFCQUFxQjtnQkFDckIscUJBQXFCO2dCQUNyQix5QkFBeUI7Z0JBQ3pCLG9CQUFvQjtnQkFDcEIsWUFBWTtnQkFDWixnQ0FBZ0M7YUFDakM7WUFDRCxPQUFPLEVBQUU7Z0JBQ1AsYUFBYTtnQkFDYixlQUFlO2FBQ2hCO1NBQ0YsQ0FBQztJQTJURixDQUFDO0NBQ0Y7QUExaUNELDhCQTBpQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY2Nlc3NMZXZlbExpc3QgfSBmcm9tICcuLi8uLi9zaGFyZWQvYWNjZXNzLWxldmVsJztcbmltcG9ydCB7IFBvbGljeVN0YXRlbWVudCwgT3BlcmF0b3IgfSBmcm9tICcuLi8uLi9zaGFyZWQnO1xuaW1wb3J0IHsgYXdzX2lhbSBhcyBpYW0gfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcblxuLyoqXG4gKiBTdGF0ZW1lbnQgcHJvdmlkZXIgZm9yIHNlcnZpY2UgW3JvYm9tYWtlcl0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NlcnZpY2UtYXV0aG9yaXphdGlvbi9sYXRlc3QvcmVmZXJlbmNlL2xpc3Rfcm9ib21ha2VyLmh0bWwpLlxuICpcbiAqIEBwYXJhbSBzaWQgW1NJRF0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0lBTS9sYXRlc3QvVXNlckd1aWRlL3JlZmVyZW5jZV9wb2xpY2llc19lbGVtZW50c19zaWQuaHRtbCkgb2YgdGhlIHN0YXRlbWVudFxuICovXG5leHBvcnQgY2xhc3MgUm9ib21ha2VyIGV4dGVuZHMgUG9saWN5U3RhdGVtZW50IHtcbiAgcHVibGljIHNlcnZpY2VQcmVmaXggPSAncm9ib21ha2VyJztcblxuICAvKipcbiAgICogRGVsZXRlIG9uZSBvciBtb3JlIHdvcmxkcyBpbiBhIGJhdGNoIG9wZXJhdGlvblxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9yb2JvbWFrZXIvbGF0ZXN0L2RnL0FQSV9CYXRjaERlbGV0ZVdvcmxkcy5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9CYXRjaERlbGV0ZVdvcmxkcygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnQmF0Y2hEZWxldGVXb3JsZHMnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXNjcmliZSBtdWx0aXBsZSBzaW11bGF0aW9uIGpvYnNcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBSZWFkXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9yb2JvbWFrZXIvbGF0ZXN0L2RnL0FQSV9CYXRjaERlc2NyaWJlU2ltdWxhdGlvbkpvYi5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9CYXRjaERlc2NyaWJlU2ltdWxhdGlvbkpvYigpIHtcbiAgICByZXR1cm4gdGhpcy50bygnQmF0Y2hEZXNjcmliZVNpbXVsYXRpb25Kb2InKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYW5jZWwgYSBkZXBsb3ltZW50IGpvYlxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9yb2JvbWFrZXIvbGF0ZXN0L2RnL0FQSV9DYW5jZWxEZXBsb3ltZW50Sm9iLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0NhbmNlbERlcGxveW1lbnRKb2IoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0NhbmNlbERlcGxveW1lbnRKb2InKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYW5jZWwgYSBzaW11bGF0aW9uIGpvYlxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9yb2JvbWFrZXIvbGF0ZXN0L2RnL0FQSV9DYW5jZWxTaW11bGF0aW9uSm9iLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0NhbmNlbFNpbXVsYXRpb25Kb2IoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0NhbmNlbFNpbXVsYXRpb25Kb2InKTtcbiAgf