iam-floyd
Version:
AWS IAM policy statement generator with fluent interface
1,164 lines • 108 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Elasticmapreduce = void 0;
const shared_1 = require("../../shared");
/**
* Statement provider for service [elasticmapreduce](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonelasticmapreduce.html).
*
* @param sid [SID](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_sid.html) of the statement
*/
class Elasticmapreduce extends shared_1.PolicyStatement {
/**
* Statement provider for service [elasticmapreduce](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonelasticmapreduce.html).
*
* @param sid [SID](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_sid.html) of the statement
*/
constructor(sid) {
super(sid);
this.servicePrefix = 'elasticmapreduce';
this.accessLevelList = {
Write: [
'AccessAllEventLogs',
'AddInstanceFleet',
'AddInstanceGroups',
'AddJobFlowSteps',
'AttachEditor',
'CancelSteps',
'CreateEditor',
'CreatePersistentAppUI',
'CreateRepository',
'CreateSecurityConfiguration',
'CreateStudio',
'CreateStudioPresignedUrl',
'CreateStudioSessionMapping',
'DeleteEditor',
'DeleteRepository',
'DeleteSecurityConfiguration',
'DeleteStudio',
'DeleteStudioSessionMapping',
'DetachEditor',
'GetClusterSessionCredentials',
'GetOnClusterAppUIPresignedURL',
'GetPersistentAppUIPresignedURL',
'LinkRepository',
'ModifyCluster',
'ModifyInstanceFleet',
'ModifyInstanceGroups',
'OpenEditorInConsole',
'PutAutoScalingPolicy',
'PutAutoTerminationPolicy',
'PutManagedScalingPolicy',
'RemoveAutoScalingPolicy',
'RemoveAutoTerminationPolicy',
'RemoveManagedScalingPolicy',
'RunJobFlow',
'SetKeepJobFlowAliveWhenNoSteps',
'SetTerminationProtection',
'SetUnhealthyNodeReplacement',
'SetVisibleToAllUsers',
'StartEditor',
'StartNotebookExecution',
'StopEditor',
'StopNotebookExecution',
'TerminateJobFlows',
'UnlinkRepository',
'UpdateEditor',
'UpdateRepository',
'UpdateStudio',
'UpdateStudioSessionMapping'
],
Tagging: [
'AddTags',
'RemoveTags'
],
'Permissions management': [
'DeleteWorkspaceAccess',
'PutBlockPublicAccessConfiguration',
'PutWorkspaceAccess'
],
Read: [
'DescribeCluster',
'DescribeEditor',
'DescribeJobFlows',
'DescribeNotebookExecution',
'DescribePersistentAppUI',
'DescribeReleaseLabel',
'DescribeRepository',
'DescribeSecurityConfiguration',
'DescribeStep',
'DescribeStudio',
'GetAutoTerminationPolicy',
'GetBlockPublicAccessConfiguration',
'GetManagedScalingPolicy',
'GetStudioSessionMapping',
'ListBootstrapActions',
'ListInstanceFleets',
'ListInstanceGroups',
'ListInstances',
'ListSteps'
],
List: [
'ListClusters',
'ListEditors',
'ListNotebookExecutions',
'ListReleaseLabels',
'ListRepositories',
'ListSecurityConfigurations',
'ListStudioSessionMappings',
'ListStudios',
'ListSupportedInstanceTypes',
'ListWorkspaceAccessIdentities',
'ViewEventsFromAllClustersInConsole'
]
};
}
/**
* Grants permission to view all event logs in a persistent application history server
*
* Access Level: Write
*
* https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-studio-debug.html
*/
toAccessAllEventLogs() {
return this.to('AccessAllEventLogs');
}
/**
* Grants permission to add an instance fleet to a running cluster
*
* Access Level: Write
*
* https://docs.aws.amazon.com/emr/latest/APIReference/API_AddInstanceFleet.html
*/
toAddInstanceFleet() {
return this.to('AddInstanceFleet');
}
/**
* Grants permission to add instance groups to a running cluster
*
* Access Level: Write
*
* https://docs.aws.amazon.com/emr/latest/APIReference/API_AddInstanceGroups.html
*/
toAddInstanceGroups() {
return this.to('AddInstanceGroups');
}
/**
* Grants permission to add new steps to a running cluster
*
* Access Level: Write
*
* Possible conditions:
* - .ifExecutionRoleArn()
*
* https://docs.aws.amazon.com/emr/latest/APIReference/API_AddJobFlowSteps.html
*/
toAddJobFlowSteps() {
return this.to('AddJobFlowSteps');
}
/**
* Grants permission to add tags to an Amazon EMR resource
*
* Access Level: Tagging
*
* Possible conditions:
* - .ifAwsRequestTag()
* - .ifAwsTagKeys()
* - .ifRequestTag()
*
* https://docs.aws.amazon.com/emr/latest/APIReference/API_AddTags.html
*/
toAddTags() {
return this.to('AddTags');
}
/**
* Grants permission to attach an EMR notebook to a compute engine
*
* Access Level: Write
*
* https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-managed-notebooks-working-with.html
*/
toAttachEditor() {
return this.to('AttachEditor');
}
/**
* Grants permission to cancel a pending step or steps in a running cluster
*
* Access Level: Write
*
* https://docs.aws.amazon.com/emr/latest/APIReference/API_CancelSteps.html
*/
toCancelSteps() {
return this.to('CancelSteps');
}
/**
* Grants permission to create an EMR notebook
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsRequestTag()
* - .ifAwsTagKeys()
* - .ifRequestTag()
*
* https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-managed-notebooks-create.html
*/
toCreateEditor() {
return this.to('CreateEditor');
}
/**
* Grants permission to create a persistent application history server
*
* Access Level: Write
*
* https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-studio-debug.html
*/
toCreatePersistentAppUI() {
return this.to('CreatePersistentAppUI');
}
/**
* Grants permission to create an EMR notebook repository
*
* Access Level: Write
*
* https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-managed-notebooks.html#emr-managed-notebooks-editor
*/
toCreateRepository() {
return this.to('CreateRepository');
}
/**
* Grants permission to create a security configuration
*
* Access Level: Write
*
* https://docs.aws.amazon.com/emr/latest/APIReference/API_CreateSecurityConfiguration.html
*/
toCreateSecurityConfiguration() {
return this.to('CreateSecurityConfiguration');
}
/**
* Grants permission to create an EMR Studio
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsRequestTag()
* - .ifAwsTagKeys()
* - .ifRequestTag()
*
* https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-studio.html
*/
toCreateStudio() {
return this.to('CreateStudio');
}
/**
* Grants permission to launch an EMR Studio using IAM authentication mode
*
* Access Level: Write
*
* https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-studio.html
*/
toCreateStudioPresignedUrl() {
return this.to('CreateStudioPresignedUrl');
}
/**
* Grants permission to create an EMR Studio session mapping
*
* Access Level: Write
*
* https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-studio.html
*/
toCreateStudioSessionMapping() {
return this.to('CreateStudioSessionMapping');
}
/**
* Grants permission to delete an EMR notebook
*
* Access Level: Write
*
* https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-managed-notebooks.html#emr-managed-notebooks-deleting
*/
toDeleteEditor() {
return this.to('DeleteEditor');
}
/**
* Grants permission to delete an EMR notebook repository
*
* Access Level: Write
*
* https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-managed-notebooks.html#emr-managed-notebooks-editor
*/
toDeleteRepository() {
return this.to('DeleteRepository');
}
/**
* Grants permission to delete a security configuration
*
* Access Level: Write
*
* https://docs.aws.amazon.com/emr/latest/APIReference/API_DeleteSecurityConfiguration.html
*/
toDeleteSecurityConfiguration() {
return this.to('DeleteSecurityConfiguration');
}
/**
* Grants permission to delete an EMR Studio
*
* Access Level: Write
*
* https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-studio.html
*/
toDeleteStudio() {
return this.to('DeleteStudio');
}
/**
* Grants permission to delete an EMR Studio session mapping
*
* Access Level: Write
*
* https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-studio.html
*/
toDeleteStudioSessionMapping() {
return this.to('DeleteStudioSessionMapping');
}
/**
* Grants permission to block an identity from opening a collaborative workspace
*
* Access Level: Permissions management
*
* https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-managed-notebooks-working-with.html
*/
toDeleteWorkspaceAccess() {
return this.to('DeleteWorkspaceAccess');
}
/**
* Grants permission to get details about a cluster, including status, hardware and software configuration, VPC settings, and so on
*
* Access Level: Read
*
* https://docs.aws.amazon.com/emr/latest/APIReference/API_DescribeCluster.html
*/
toDescribeCluster() {
return this.to('DescribeCluster');
}
/**
* Grants permission to view information about a notebook, including status, user, role, tags, location, and more
*
* Access Level: Read
*
* https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-managed-notebooks-working-with.html
*/
toDescribeEditor() {
return this.to('DescribeEditor');
}
/**
* Grants permission to describe details of clusters (job flows). This API is deprecated and will eventually be removed. We recommend you use ListClusters, DescribeCluster, ListSteps, ListInstanceGroups and ListBootstrapActions instead
*
* Access Level: Read
*
* https://docs.aws.amazon.com/emr/latest/APIReference/API_DescribeJobFlows.html
*/
toDescribeJobFlows() {
return this.to('DescribeJobFlows');
}
/**
* Grants permission to view information about a notebook execution
*
* Access Level: Read
*
* https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-managed-notebooks-headless.html
*/
toDescribeNotebookExecution() {
return this.to('DescribeNotebookExecution');
}
/**
* Grants permission to describe a persistent application history server
*
* Access Level: Read
*
* https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-studio-debug.html
*/
toDescribePersistentAppUI() {
return this.to('DescribePersistentAppUI');
}
/**
* Grants permission to view information about an EMR release, such as which applications are supported
*
* Access Level: Read
*
* https://docs.aws.amazon.com/emr/latest/APIReference/API_DescribeReleaseLabel.html
*/
toDescribeReleaseLabel() {
return this.to('DescribeReleaseLabel');
}
/**
* Grants permission to describe an EMR notebook repository
*
* Access Level: Read
*
* https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-managed-notebooks.html#emr-managed-notebooks-editor
*/
toDescribeRepository() {
return this.to('DescribeRepository');
}
/**
* Grants permission to get details of a security configuration
*
* Access Level: Read
*
* https://docs.aws.amazon.com/emr/latest/APIReference/API_DescribeSecurityConfiguration.html
*/
toDescribeSecurityConfiguration() {
return this.to('DescribeSecurityConfiguration');
}
/**
* Grants permission to get details about a cluster step
*
* Access Level: Read
*
* https://docs.aws.amazon.com/emr/latest/APIReference/API_DescribeStep.html
*/
toDescribeStep() {
return this.to('DescribeStep');
}
/**
* Grants permission to view information about an EMR Studio
*
* Access Level: Read
*
* https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-studio.html
*/
toDescribeStudio() {
return this.to('DescribeStudio');
}
/**
* Grants permission to detach an EMR notebook from a compute engine
*
* Access Level: Write
*
* https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-managed-notebooks-working-with.html
*/
toDetachEditor() {
return this.to('DetachEditor');
}
/**
* Grants permission to retrieve the auto-termination policy associated with a cluster
*
* Access Level: Read
*
* https://docs.aws.amazon.com/emr/latest/APIReference/API_GetAutoTerminationPolicy.html
*/
toGetAutoTerminationPolicy() {
return this.to('GetAutoTerminationPolicy');
}
/**
* Grants permission to retrieve the EMR block public access configuration for the AWS account in the Region
*
* Access Level: Read
*
* https://docs.aws.amazon.com/emr/latest/APIReference/API_GetBlockPublicAccessConfiguration.html
*/
toGetBlockPublicAccessConfiguration() {
return this.to('GetBlockPublicAccessConfiguration');
}
/**
* Grants permission to retrieve HTTP basic credentials associated with a given execution IAM Role for a fine-grained access control enabled EMR Cluster
*
* Access Level: Write
*
* Possible conditions:
* - .ifExecutionRoleArn()
*
* https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-steps-runtime-roles.html
*/
toGetClusterSessionCredentials() {
return this.to('GetClusterSessionCredentials');
}
/**
* Grants permission to retrieve the managed scaling policy associated with a cluster
*
* Access Level: Read
*
* https://docs.aws.amazon.com/emr/latest/APIReference/API_GetManagedScalingPolicy.html
*/
toGetManagedScalingPolicy() {
return this.to('GetManagedScalingPolicy');
}
/**
* Grants permission to get a presigned URL for an application history server running on the cluster
*
* Access Level: Write
*
* https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-studio-debug.html
*/
toGetOnClusterAppUIPresignedURL() {
return this.to('GetOnClusterAppUIPresignedURL');
}
/**
* Grants permission to get a presigned URL for a persistent application history server
*
* Access Level: Write
*
* Possible conditions:
* - .ifExecutionRoleArn()
*
* https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-studio-debug.html
*/
toGetPersistentAppUIPresignedURL() {
return this.to('GetPersistentAppUIPresignedURL');
}
/**
* Grants permission to view information about an EMR Studio session mapping
*
* Access Level: Read
*
* https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-studio.html
*/
toGetStudioSessionMapping() {
return this.to('GetStudioSessionMapping');
}
/**
* Grants permission to link an EMR notebook repository to EMR notebooks
*
* Access Level: Write
*
* https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-managed-notebooks.html#emr-managed-notebooks-editor
*/
toLinkRepository() {
return this.to('LinkRepository');
}
/**
* Grants permission to get details about the bootstrap actions associated with a cluster
*
* Access Level: Read
*
* https://docs.aws.amazon.com/emr/latest/APIReference/API_ListBootstrapActions.html
*/
toListBootstrapActions() {
return this.to('ListBootstrapActions');
}
/**
* Grants permission to get the status of accessible clusters
*
* Access Level: List
*
* https://docs.aws.amazon.com/emr/latest/APIReference/API_ListClusters.html
*/
toListClusters() {
return this.to('ListClusters');
}
/**
* Grants permission to list summary information for accessible EMR notebooks
*
* Access Level: List
*
* https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-managed-notebooks-working-with.html
*/
toListEditors() {
return this.to('ListEditors');
}
/**
* Grants permission to get details of instance fleets in a cluster
*
* Access Level: Read
*
* https://docs.aws.amazon.com/emr/latest/APIReference/API_ListInstanceFleets.html
*/
toListInstanceFleets() {
return this.to('ListInstanceFleets');
}
/**
* Grants permission to get details of instance groups in a cluster
*
* Access Level: Read
*
* https://docs.aws.amazon.com/emr/latest/APIReference/API_ListInstanceGroups.html
*/
toListInstanceGroups() {
return this.to('ListInstanceGroups');
}
/**
* Grants permission to get details about the Amazon EC2 instances in a cluster
*
* Access Level: Read
*
* https://docs.aws.amazon.com/emr/latest/APIReference/API_ListInstances.html
*/
toListInstances() {
return this.to('ListInstances');
}
/**
* Grants permission to list summary information for notebook executions
*
* Access Level: List
*
* https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-managed-notebooks-headless.html
*/
toListNotebookExecutions() {
return this.to('ListNotebookExecutions');
}
/**
* Grants permission to list and filter the available EMR releases in the current region
*
* Access Level: List
*
* https://docs.aws.amazon.com/emr/latest/APIReference/API_ListReleaseLabels.html
*/
toListReleaseLabels() {
return this.to('ListReleaseLabels');
}
/**
* Grants permission to list existing EMR notebook repositories
*
* Access Level: List
*
* https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-managed-notebooks.html#emr-managed-notebooks-editor
*/
toListRepositories() {
return this.to('ListRepositories');
}
/**
* Grants permission to list available security configurations in this account by name, along with creation dates and times
*
* Access Level: List
*
* https://docs.aws.amazon.com/emr/latest/APIReference/API_ListSecurityConfigurations.html
*/
toListSecurityConfigurations() {
return this.to('ListSecurityConfigurations');
}
/**
* Grants permission to list steps associated with a cluster
*
* Access Level: Read
*
* https://docs.aws.amazon.com/emr/latest/APIReference/API_ListSteps.html
*/
toListSteps() {
return this.to('ListSteps');
}
/**
* Grants permission to list summary information about EMR Studio session mappings
*
* Access Level: List
*
* https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-studio.html
*/
toListStudioSessionMappings() {
return this.to('ListStudioSessionMappings');
}
/**
* Grants permission to list summary information about EMR Studios
*
* Access Level: List
*
* https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-studio.html
*/
toListStudios() {
return this.to('ListStudios');
}
/**
* Grants permission to list the Amazon EC2 instance types that an Amazon EMR release supports
*
* Access Level: List
*
* https://docs.aws.amazon.com/emr/latest/APIReference/API_ListSupportedInstanceTypes.html
*/
toListSupportedInstanceTypes() {
return this.to('ListSupportedInstanceTypes');
}
/**
* Grants permission to list identities that are granted access to a workspace
*
* Access Level: List
*
* https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-managed-notebooks-working-with.html
*/
toListWorkspaceAccessIdentities() {
return this.to('ListWorkspaceAccessIdentities');
}
/**
* Grants permission to change cluster settings such as number of steps that can be executed concurrently for a cluster
*
* Access Level: Write
*
* https://docs.aws.amazon.com/emr/latest/APIReference/API_ModifyCluster.html
*/
toModifyCluster() {
return this.to('ModifyCluster');
}
/**
* Grants permission to change the target On-Demand and target Spot capacities for a instance fleet
*
* Access Level: Write
*
* https://docs.aws.amazon.com/emr/latest/APIReference/API_ModifyInstanceFleet.html
*/
toModifyInstanceFleet() {
return this.to('ModifyInstanceFleet');
}
/**
* Grants permission to change the number and configuration of EC2 instances for an instance group
*
* Access Level: Write
*
* https://docs.aws.amazon.com/emr/latest/APIReference/API_ModifyInstanceGroups.html
*/
toModifyInstanceGroups() {
return this.to('ModifyInstanceGroups');
}
/**
* Grants permission to launch the Jupyter notebook editor for an EMR notebook from within the console
*
* Access Level: Write
*
* https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-managed-notebooks.html#emr-managed-notebooks-editor
*/
toOpenEditorInConsole() {
return this.to('OpenEditorInConsole');
}
/**
* Grants permission to create or update an automatic scaling policy for a core instance group or task instance group
*
* Access Level: Write
*
* https://docs.aws.amazon.com/emr/latest/APIReference/API_PutAutoScalingPolicy.html
*/
toPutAutoScalingPolicy() {
return this.to('PutAutoScalingPolicy');
}
/**
* Grants permission to create or update the auto-termination policy associated with a cluster
*
* Access Level: Write
*
* https://docs.aws.amazon.com/emr/latest/APIReference/API_PutAutoTerminationPolicy.html
*/
toPutAutoTerminationPolicy() {
return this.to('PutAutoTerminationPolicy');
}
/**
* Grants permission to create or update the EMR block public access configuration for the AWS account in the Region
*
* Access Level: Permissions management
*
* https://docs.aws.amazon.com/emr/latest/APIReference/API_PutBlockPublicAccessConfiguration.html
*/
toPutBlockPublicAccessConfiguration() {
return this.to('PutBlockPublicAccessConfiguration');
}
/**
* Grants permission to create or update the managed scaling policy associated with a cluster
*
* Access Level: Write
*
* https://docs.aws.amazon.com/emr/latest/APIReference/API_PutManagedScalingPolicy.html
*/
toPutManagedScalingPolicy() {
return this.to('PutManagedScalingPolicy');
}
/**
* Grants permission to allow an identity to open a collaborative workspace
*
* Access Level: Permissions management
*
* https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-managed-notebooks-working-with.html
*/
toPutWorkspaceAccess() {
return this.to('PutWorkspaceAccess');
}
/**
* Grants permission to remove an automatic scaling policy from an instance group
*
* Access Level: Write
*
* https://docs.aws.amazon.com/emr/latest/APIReference/API_RemoveAutoScalingPolicy.html
*/
toRemoveAutoScalingPolicy() {
return this.to('RemoveAutoScalingPolicy');
}
/**
* Grants permission to remove the auto-termination policy associated with a cluster
*
* Access Level: Write
*
* https://docs.aws.amazon.com/emr/latest/APIReference/API_RemoveAutoTerminationPolicy.html
*/
toRemoveAutoTerminationPolicy() {
return this.to('RemoveAutoTerminationPolicy');
}
/**
* Grants permission to remove the managed scaling policy associated with a cluster
*
* Access Level: Write
*
* https://docs.aws.amazon.com/emr/latest/APIReference/API_RemoveManagedScalingPolicy.html
*/
toRemoveManagedScalingPolicy() {
return this.to('RemoveManagedScalingPolicy');
}
/**
* Grants permission to remove tags from an Amazon EMR resource
*
* Access Level: Tagging
*
* Possible conditions:
* - .ifAwsTagKeys()
*
* https://docs.aws.amazon.com/emr/latest/APIReference/API_RemoveTags.html
*/
toRemoveTags() {
return this.to('RemoveTags');
}
/**
* Grants permission to create and launch a cluster (job flow)
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsRequestTag()
* - .ifAwsTagKeys()
* - .ifRequestTag()
*
* Dependent actions:
* - iam:PassRole
*
* https://docs.aws.amazon.com/emr/latest/APIReference/API_RunJobFlow.html
*/
toRunJobFlow() {
return this.to('RunJobFlow');
}
/**
* Grants permission to add and remove auto terminate after step execution for a cluster
*
* Access Level: Write
*
* https://docs.aws.amazon.com/emr/latest/APIReference/API_SetKeepJobFlowAliveWhenNoSteps.html
*/
toSetKeepJobFlowAliveWhenNoSteps() {
return this.to('SetKeepJobFlowAliveWhenNoSteps');
}
/**
* Grants permission to add and remove termination protection for a cluster
*
* Access Level: Write
*
* https://docs.aws.amazon.com/emr/latest/APIReference/API_SetTerminationProtection.html
*/
toSetTerminationProtection() {
return this.to('SetTerminationProtection');
}
/**
* Grants permission to enable or disable unhealthy node replacement for a cluster
*
* Access Level: Write
*
* https://docs.aws.amazon.com/emr/latest/APIReference/API_SetUnhealthyNodeReplacement.html
*/
toSetUnhealthyNodeReplacement() {
return this.to('SetUnhealthyNodeReplacement');
}
/**
* Grants permission to set whether all AWS Identity and Access Management (IAM) users in the AWS account can view a cluster. This API is deprecated and your cluster may be visible to all users in your account. To restrict cluster access using an IAM policy, see AWS Identity and Access Management for Amazon EMR (https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-access-iam.html)
*
* Access Level: Write
*
* https://docs.aws.amazon.com/emr/latest/APIReference/API_SetVisibleToAllUsers.html
*/
toSetVisibleToAllUsers() {
return this.to('SetVisibleToAllUsers');
}
/**
* Grants permission to start an EMR notebook
*
* Access Level: Write
*
* https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-managed-notebooks-working-with.html
*/
toStartEditor() {
return this.to('StartEditor');
}
/**
* Grants permission to start an EMR notebook execution
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsRequestTag()
* - .ifAwsTagKeys()
* - .ifRequestTag()
*
* https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-managed-notebooks-headless.html
*/
toStartNotebookExecution() {
return this.to('StartNotebookExecution');
}
/**
* Grants permission to shut down an EMR notebook
*
* Access Level: Write
*
* https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-managed-notebooks.html
*/
toStopEditor() {
return this.to('StopEditor');
}
/**
* Grants permission to stop notebook execution
*
* Access Level: Write
*
* https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-managed-notebooks-headless.html
*/
toStopNotebookExecution() {
return this.to('StopNotebookExecution');
}
/**
* Grants permission to terminate a cluster (job flow)
*
* Access Level: Write
*
* https://docs.aws.amazon.com/emr/latest/APIReference/API_TerminateJobFlows.html
*/
toTerminateJobFlows() {
return this.to('TerminateJobFlows');
}
/**
* Grants permission to unlink an EMR notebook repository from EMR notebooks
*
* Access Level: Write
*
* https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-managed-notebooks.html#emr-managed-notebooks-editor
*/
toUnlinkRepository() {
return this.to('UnlinkRepository');
}
/**
* Grants permission to update an EMR notebook
*
* Access Level: Write
*
* https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-managed-notebooks-working-with.html
*/
toUpdateEditor() {
return this.to('UpdateEditor');
}
/**
* Grants permission to update an EMR notebook repository
*
* Access Level: Write
*
* https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-managed-notebooks.html#emr-managed-notebooks-editor
*/
toUpdateRepository() {
return this.to('UpdateRepository');
}
/**
* Grants permission to update information about an EMR Studio
*
* Access Level: Write
*
* https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-studio.html
*/
toUpdateStudio() {
return this.to('UpdateStudio');
}
/**
* Grants permission to update an EMR Studio session mapping
*
* Access Level: Write
*
* https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-studio.html
*/
toUpdateStudioSessionMapping() {
return this.to('UpdateStudioSessionMapping');
}
/**
* Grants permission to use the EMR console to view events from all clusters
*
* Access Level: List
*
* https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonelasticmapreduce.html
*/
toViewEventsFromAllClustersInConsole() {
return this.to('ViewEventsFromAllClustersInConsole');
}
/**
* Adds a resource of type cluster to the statement
*
* https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-overview.html
*
* @param clusterId - Identifier for the clusterId.
* @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()
* - .ifResourceTag()
*/
onCluster(clusterId, account, region, partition) {
return this.on(`arn:${partition ?? this.defaultPartition}:elasticmapreduce:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:cluster/${clusterId}`);
}
/**
* Adds a resource of type editor to the statement
*
* https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-managed-notebooks.html
*
* @param editorId - Identifier for the editorId.
* @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()
* - .ifResourceTag()
*/
onEditor(editorId, account, region, partition) {
return this.on(`arn:${partition ?? this.defaultPartition}:elasticmapreduce:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:editor/${editorId}`);
}
/**
* Adds a resource of type notebook-execution to the statement
*
* https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-managed-notebooks-headless.html
*
* @param notebookExecutionId - Identifier for the notebookExecutionId.
* @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()
* - .ifResourceTag()
*/
onNotebookExecution(notebookExecutionId, account, region, partition) {
return this.on(`arn:${partition ?? this.defaultPartition}:elasticmapreduce:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:notebook-execution/${notebookExecutionId}`);
}
/**
* Adds a resource of type studio to the statement
*
* https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-studio.html
*
* @param studioId - Identifier for the studioId.
* @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account.
* @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region.
* @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition.
*
* Possible conditions:
* - .ifAwsResourceTag()
* - .ifResourceTag()
*/
onStudio(studioId, account, region, partition) {
return this.on(`arn:${partition ?? this.defaultPartition}:elasticmapreduce:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:studio/${studioId}`);
}
/**
* Filters access by whether the tag and value pair is provided with the action
*
* https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-access-iam.html#emr-fine-grained-cluster-access
*
* Applies to actions:
* - .toAddTags()
* - .toCreateEditor()
* - .toCreateStudio()
* - .toRunJobFlow()
* - .toStartNotebookExecution()
*
* @param tagKey The tag key to check
* @param value The value(s) to check
* @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike`
*/
ifAwsRequestTag(tagKey, value, operator) {
return this.if(`aws:RequestTag/${tagKey}`, value, operator ?? 'StringLike');
}
/**
* Filters access by the tag and value pair associated with an Amazon EMR resource
*
* https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-access-iam.html#emr-fine-grained-cluster-access
*
* Applies to resource types:
* - cluster
* - editor
* - notebook-execution
* - studio
*
* @param tagKey The tag key to check
* @param value The value(s) to check
* @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike`
*/
ifAwsResourceTag(tagKey, value, operator) {
return this.if(`aws:ResourceTag/${tagKey}`, value, operator ?? 'StringLike');
}
/**
* Filters access by whether the tag keys are provided with the action regardless of tag value
*
* https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-access-iam.html#emr-fine-grained-cluster-access
*
* Applies to actions:
* - .toAddTags()
* - .toCreateEditor()
* - .toCreateStudio()
* - .toRemoveTags()
* - .toRunJobFlow()
* - .toStartNotebookExecution()
*
* @param value The value(s) to check
* @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike`
*/
ifAwsTagKeys(value, operator) {
return this.if(`aws:TagKeys`, value, operator ?? 'StringLike');
}
/**
* Filters access by whether the execution role ARN is provided with the action
*
* https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-access-iam.html#emr-security
*
* Applies to actions:
* - .toAddJobFlowSteps()
* - .toGetClusterSessionCredentials()
* - .toGetPersistentAppUIPresignedURL()
*
* @param value The value(s) to check
* @param operator Works with [arn operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_ARN). **Default:** `ArnLike`
*/
ifExecutionRoleArn(value, operator) {
return this.if(`ExecutionRoleArn`, value, operator ?? 'ArnLike');
}
/**
* Filters access by whether the tag and value pair is provided with the action
*
* https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-access-iam.html#emr-fine-grained-cluster-access
*
* Applies to actions:
* - .toAddTags()
* - .toCreateEditor()
* - .toCreateStudio()
* - .toRunJobFlow()
* - .toStartNotebookExecution()
*
* @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`
*/
ifRequestTag(tagKey, value, operator) {
return this.if(`RequestTag/${tagKey}`, value, operator ?? 'StringLike');
}
/**
* Filters access by the tag and value pair associated with an Amazon EMR resource
*
* https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-access-iam.html#emr-fine-grained-cluster-access
*
* Applies to resource types:
* - cluster
* - editor
* - notebook-execution
* - studio
*
* @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`
*/
ifResourceTag(tagKey, value, operator) {
return this.if(`ResourceTag/${tagKey}`, value, operator ?? 'StringLike');
}
}
exports.Elasticmapreduce = Elasticmapreduce;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxhc3RpY21hcHJlZHVjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImVsYXN0aWNtYXByZWR1Y2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EseUNBQXlEO0FBRXpEOzs7O0dBSUc7QUFDSCxNQUFhLGdCQUFpQixTQUFRLHdCQUFlO0lBR25EOzs7O09BSUc7SUFDSCxZQUFZLEdBQVk7UUFDdEIsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBUk4sa0JBQWEsR0FBRyxrQkFBa0IsQ0FBQztRQW84QmhDLG9CQUFlLEdBQW9CO1lBQzNDLEtBQUssRUFBRTtnQkFDTCxvQkFBb0I7Z0JBQ3BCLGtCQUFrQjtnQkFDbEIsbUJBQW1CO2dCQUNuQixpQkFBaUI7Z0JBQ2pCLGNBQWM7Z0JBQ2QsYUFBYTtnQkFDYixjQUFjO2dCQUNkLHVCQUF1QjtnQkFDdkIsa0JBQWtCO2dCQUNsQiw2QkFBNkI7Z0JBQzdCLGNBQWM7Z0JBQ2QsMEJBQTBCO2dCQUMxQiw0QkFBNEI7Z0JBQzVCLGNBQWM7Z0JBQ2Qsa0JBQWtCO2dCQUNsQiw2QkFBNkI7Z0JBQzdCLGNBQWM7Z0JBQ2QsNEJBQTRCO2dCQUM1QixjQUFjO2dCQUNkLDhCQUE4QjtnQkFDOUIsK0JBQStCO2dCQUMvQixnQ0FBZ0M7Z0JBQ2hDLGdCQUFnQjtnQkFDaEIsZUFBZTtnQkFDZixxQkFBcUI7Z0JBQ3JCLHNCQUFzQjtnQkFDdEIscUJBQXFCO2dCQUNyQixzQkFBc0I7Z0JBQ3RCLDBCQUEwQjtnQkFDMUIseUJBQXlCO2dCQUN6Qix5QkFBeUI7Z0JBQ3pCLDZCQUE2QjtnQkFDN0IsNEJBQTRCO2dCQUM1QixZQUFZO2dCQUNaLGdDQUFnQztnQkFDaEMsMEJBQTBCO2dCQUMxQiw2QkFBNkI7Z0JBQzdCLHNCQUFzQjtnQkFDdEIsYUFBYTtnQkFDYix3QkFBd0I7Z0JBQ3hCLFlBQVk7Z0JBQ1osdUJBQXVCO2dCQUN2QixtQkFBbUI7Z0JBQ25CLGtCQUFrQjtnQkFDbEIsY0FBYztnQkFDZCxrQkFB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