UNPKG

cdk-iam-floyd

Version:

AWS IAM policy statement generator with fluent interface for AWS CDK

951 lines 94.8 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Swf = void 0; const shared_1 = require("../../shared"); /** * Statement provider for service [swf](https://docs.aws.amazon.com/service-authorization/latest/reference/list_swf.html). * * @param sid [SID](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_sid.html) of the statement */ class Swf extends shared_1.PolicyStatement { /** * Grants permission to return the number of closed workflow executions within the given domain that meet the specified filtering criteria * * Access Level: Read * * https://docs.aws.amazon.com/amazonswf/latest/apireference/API_CountClosedWorkflowExecutions.html */ toCountClosedWorkflowExecutions() { return this.to('CountClosedWorkflowExecutions'); } /** * Grants permission to return the number of open workflow executions within the given domain that meet the specified filtering criteria * * Access Level: Read * * https://docs.aws.amazon.com/amazonswf/latest/apireference/API_CountOpenWorkflowExecutions.html */ toCountOpenWorkflowExecutions() { return this.to('CountOpenWorkflowExecutions'); } /** * Grants permission to return the estimated number of activity tasks in the specified task list * * Access Level: Read * * https://docs.aws.amazon.com/amazonswf/latest/apireference/API_CountPendingActivityTasks.html */ toCountPendingActivityTasks() { return this.to('CountPendingActivityTasks'); } /** * Grants permission to return the estimated number of decision tasks in the specified task list * * Access Level: Read * * https://docs.aws.amazon.com/amazonswf/latest/apireference/API_CountPendingDecisionTasks.html */ toCountPendingDecisionTasks() { return this.to('CountPendingDecisionTasks'); } /** * Grants permission to delete the specified activity type * * Access Level: Write * * https://docs.aws.amazon.com/amazonswf/latest/apireference/API_DeleteActivityType.html */ toDeleteActivityType() { return this.to('DeleteActivityType'); } /** * Grants permission to delete the specified workflow type * * Access Level: Write * * https://docs.aws.amazon.com/amazonswf/latest/apireference/API_DeleteWorkflowType.html */ toDeleteWorkflowType() { return this.to('DeleteWorkflowType'); } /** * Grants permission to deprecate the specified activity type * * Access Level: Write * * https://docs.aws.amazon.com/amazonswf/latest/apireference/API_DeprecateActivityType.html */ toDeprecateActivityType() { return this.to('DeprecateActivityType'); } /** * Grants permission to deprecate the specified domain * * Access Level: Write * * https://docs.aws.amazon.com/amazonswf/latest/apireference/API_DeprecateDomain.html */ toDeprecateDomain() { return this.to('DeprecateDomain'); } /** * Grants permission to deprecate the specified workflow type * * Access Level: Write * * https://docs.aws.amazon.com/amazonswf/latest/apireference/API_DeprecateWorkflowType.html */ toDeprecateWorkflowType() { return this.to('DeprecateWorkflowType'); } /** * Grants permission to return information about the specified activity type * * Access Level: Read * * https://docs.aws.amazon.com/amazonswf/latest/apireference/API_DescribeActivityType.html */ toDescribeActivityType() { return this.to('DescribeActivityType'); } /** * Grants permission to return information about the specified domain, including its description and status * * Access Level: Read * * https://docs.aws.amazon.com/amazonswf/latest/apireference/API_DescribeDomain.html */ toDescribeDomain() { return this.to('DescribeDomain'); } /** * Grants permission to return information about the specified workflow execution including its type and some statistics * * Access Level: Read * * https://docs.aws.amazon.com/amazonswf/latest/apireference/API_DescribeWorkflowExecution.html */ toDescribeWorkflowExecution() { return this.to('DescribeWorkflowExecution'); } /** * Grants permission to return information about the specified workflow type * * Access Level: Read * * https://docs.aws.amazon.com/amazonswf/latest/apireference/API_DescribeWorkflowType.html */ toDescribeWorkflowType() { return this.to('DescribeWorkflowType'); } /** * Grants permission to return the history of the specified workflow execution * * Access Level: Read * * https://docs.aws.amazon.com/amazonswf/latest/apireference/API_GetWorkflowExecutionHistory.html */ toGetWorkflowExecutionHistory() { return this.to('GetWorkflowExecutionHistory'); } /** * Grants permission to return information about all activities registered in the specified domain that match the specified name and registration status * * Access Level: List * * https://docs.aws.amazon.com/amazonswf/latest/apireference/API_ListActivityTypes.html */ toListActivityTypes() { return this.to('ListActivityTypes'); } /** * Grants permission to return a list of closed workflow executions in the specified domain that meet the filtering criteria * * Access Level: List * * https://docs.aws.amazon.com/amazonswf/latest/apireference/API_ListClosedWorkflowExecutions.html */ toListClosedWorkflowExecutions() { return this.to('ListClosedWorkflowExecutions'); } /** * Grants permission to return the list of domains registered in the account * * Access Level: List * * https://docs.aws.amazon.com/amazonswf/latest/apireference/API_ListDomains.html */ toListDomains() { return this.to('ListDomains'); } /** * Grants permission to return a list of open workflow executions in the specified domain that meet the filtering criteria * * Access Level: List * * https://docs.aws.amazon.com/amazonswf/latest/apireference/API_ListOpenWorkflowExecutions.html */ toListOpenWorkflowExecutions() { return this.to('ListOpenWorkflowExecutions'); } /** * Grants permission to list tags for an AWS SWF resource * * Access Level: List * * https://docs.aws.amazon.com/amazonswf/latest/apireference/API_ListTagsForResource.html */ toListTagsForResource() { return this.to('ListTagsForResource'); } /** * Grants permission to return information about workflow types in the specified domain * * Access Level: List * * https://docs.aws.amazon.com/amazonswf/latest/apireference/API_ListWorkflowTypes.html */ toListWorkflowTypes() { return this.to('ListWorkflowTypes'); } /** * Grants permission to workers to get an ActivityTask from the specified activity taskList * * Access Level: Write * * https://docs.aws.amazon.com/amazonswf/latest/apireference/API_PollForActivityTask.html */ toPollForActivityTask() { return this.to('PollForActivityTask'); } /** * Grants permission to deciders to get a DecisionTask from the specified decision taskList * * Access Level: Write * * https://docs.aws.amazon.com/amazonswf/latest/apireference/API_PollForDecisionTask.html */ toPollForDecisionTask() { return this.to('PollForDecisionTask'); } /** * Grants permission to workers to report to the service that the ActivityTask represented by the specified taskToken is still making progress * * Access Level: Write * * https://docs.aws.amazon.com/amazonswf/latest/apireference/API_RecordActivityTaskHeartbeat.html */ toRecordActivityTaskHeartbeat() { return this.to('RecordActivityTaskHeartbeat'); } /** * Grants permission to register a new activity type along with its configuration settings in the specified domain * * Access Level: Write * * https://docs.aws.amazon.com/amazonswf/latest/apireference/API_RegisterActivityType.html */ toRegisterActivityType() { return this.to('RegisterActivityType'); } /** * Grants permission to register a new domain * * Access Level: Write * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/amazonswf/latest/apireference/API_RegisterDomain.html */ toRegisterDomain() { return this.to('RegisterDomain'); } /** * Grants permission to register a new workflow type and its configuration settings in the specified domain * * Access Level: Write * * https://docs.aws.amazon.com/amazonswf/latest/apireference/API_RegisterWorkflowType.html */ toRegisterWorkflowType() { return this.to('RegisterWorkflowType'); } /** * Grants permission to record a WorkflowExecutionCancelRequested event in the currently running workflow execution identified by the given domain, workflowId, and runId * * Access Level: Write * * https://docs.aws.amazon.com/amazonswf/latest/apireference/API_RequestCancelWorkflowExecution.html */ toRequestCancelWorkflowExecution() { return this.to('RequestCancelWorkflowExecution'); } /** * Grants permission to workers to tell the service that the ActivityTask identified by the taskToken was successfully canceled * * Access Level: Write * * https://docs.aws.amazon.com/amazonswf/latest/apireference/API_RespondActivityTaskCanceled.html */ toRespondActivityTaskCanceled() { return this.to('RespondActivityTaskCanceled'); } /** * Grants permission to workers to tell the service that the ActivityTask identified by the taskToken completed successfully with a result (if provided) * * Access Level: Write * * https://docs.aws.amazon.com/amazonswf/latest/apireference/API_RespondActivityTaskCompleted.html */ toRespondActivityTaskCompleted() { return this.to('RespondActivityTaskCompleted'); } /** * Grants permission to workers to tell the service that the ActivityTask identified by the taskToken has failed with reason (if specified) * * Access Level: Write * * https://docs.aws.amazon.com/amazonswf/latest/apireference/API_RespondActivityTaskFailed.html */ toRespondActivityTaskFailed() { return this.to('RespondActivityTaskFailed'); } /** * Grants permission to deciders to tell the service that the DecisionTask identified by the taskToken has successfully completed * * Access Level: Write * * https://docs.aws.amazon.com/amazonswf/latest/apireference/API_RespondDecisionTaskCompleted.html */ toRespondDecisionTaskCompleted() { return this.to('RespondDecisionTaskCompleted'); } /** * Grants permission to record a WorkflowExecutionSignaled event in the workflow execution history and create a decision task for the workflow execution identified by the given domain, workflowId and runId * * Access Level: Write * * https://docs.aws.amazon.com/amazonswf/latest/apireference/API_SignalWorkflowExecution.html */ toSignalWorkflowExecution() { return this.to('SignalWorkflowExecution'); } /** * Grants permission to start an execution of the workflow type in the specified domain using the provided workflowId and input data * * Access Level: Write * * https://docs.aws.amazon.com/amazonswf/latest/apireference/API_StartWorkflowExecution.html */ toStartWorkflowExecution() { return this.to('StartWorkflowExecution'); } /** * Grants permission to tag an AWS SWF resource * * Access Level: Tagging, Write * * https://docs.aws.amazon.com/amazonswf/latest/apireference/API_TagResource.html */ toTagResource() { return this.to('TagResource'); } /** * Grants permission to record a WorkflowExecutionTerminated event and force closure of the workflow execution identified by the given domain, runId, and workflowId * * Access Level: Write * * https://docs.aws.amazon.com/amazonswf/latest/apireference/API_TerminateWorkflowExecution.html */ toTerminateWorkflowExecution() { return this.to('TerminateWorkflowExecution'); } /** * Grants permission to undeprecate a previously deprecated activity type * * Access Level: Write * * https://docs.aws.amazon.com/amazonswf/latest/apireference/API_UndeprecateActivityType.html */ toUndeprecateActivityType() { return this.to('UndeprecateActivityType'); } /** * Grants permission to undeprecate a previously deprecated domain * * Access Level: Write * * https://docs.aws.amazon.com/amazonswf/latest/apireference/API_UndeprecateDomain.html */ toUndeprecateDomain() { return this.to('UndeprecateDomain'); } /** * Grants permission to undeprecate a previously deprecated workflow type * * Access Level: Write * * https://docs.aws.amazon.com/amazonswf/latest/apireference/API_UndeprecateWorkflowType.html */ toUndeprecateWorkflowType() { return this.to('UndeprecateWorkflowType'); } /** * Grants permission to remove a tag from an AWS SWF resource * * Access Level: Tagging, Write * * https://docs.aws.amazon.com/amazonswf/latest/apireference/API_UntagResource.html */ toUntagResource() { return this.to('UntagResource'); } /** * Grants permission to cancel a previously started timer and record a TimerCanceled event in the history * * Access Level: Write */ toCancelTimer() { return this.to('CancelTimer'); } /** * Grants permission to close the workflow execution and record a WorkflowExecutionCanceled event in the history * * Access Level: Write */ toCancelWorkflowExecution() { return this.to('CancelWorkflowExecution'); } /** * Grants permission to close the workflow execution and record a WorkflowExecutionCompleted event in the history * * Access Level: Write */ toCompleteWorkflowExecution() { return this.to('CompleteWorkflowExecution'); } /** * Grants permission to close the workflow execution and start a new workflow execution of the same type using the same workflow ID and a unique run Id * * Access Level: Write */ toContinueAsNewWorkflowExecution() { return this.to('ContinueAsNewWorkflowExecution'); } /** * Grants permission to close the workflow execution and record a WorkflowExecutionFailed event in the history * * Access Level: Write */ toFailWorkflowExecution() { return this.to('FailWorkflowExecution'); } /** * Grants permission to record a MarkerRecorded event in the history * * Access Level: Write */ toRecordMarker() { return this.to('RecordMarker'); } /** * Grants permission to attempt to cancel a previously scheduled activity task * * Access Level: Write */ toRequestCancelActivityTask() { return this.to('RequestCancelActivityTask'); } /** * Grants permission to request that a request be made to cancel the specified external workflow execution * * Access Level: Write */ toRequestCancelExternalWorkflowExecution() { return this.to('RequestCancelExternalWorkflowExecution'); } /** * Grants permission to schedule an activity task * * Access Level: Write */ toScheduleActivityTask() { return this.to('ScheduleActivityTask'); } /** * Grants permission to request a signal to be delivered to the specified external workflow execution and records * * Access Level: Write */ toSignalExternalWorkflowExecution() { return this.to('SignalExternalWorkflowExecution'); } /** * Grants permission to request that a child workflow execution be started * * Access Level: Write */ toStartChildWorkflowExecution() { return this.to('StartChildWorkflowExecution'); } /** * Grants permission to start a timer for a workflow execution * * Access Level: Write */ toStartTimer() { return this.to('StartTimer'); } /** * Adds a resource of type domain to the statement * * https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-domains.html * * @param domainName - Identifier for the domainName. * @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account. * @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() */ onDomain(domainName, account, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:swf::${account ?? this.defaultAccount}:/domain/${domainName}`); } /** * Filters access by tag of the request * * https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-requesttag * * Applies to actions: * - .toRegisterDomain() * - .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 by tag of the resource * * https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-resourcetag * * Applies to actions: * - .toCountClosedWorkflowExecutions() * - .toCountOpenWorkflowExecutions() * - .toCountPendingActivityTasks() * - .toCountPendingDecisionTasks() * - .toDeleteActivityType() * - .toDeleteWorkflowType() * - .toDeprecateActivityType() * - .toDeprecateDomain() * - .toDeprecateWorkflowType() * - .toDescribeActivityType() * - .toDescribeDomain() * - .toDescribeWorkflowExecution() * - .toDescribeWorkflowType() * - .toGetWorkflowExecutionHistory() * - .toListActivityTypes() * - .toListClosedWorkflowExecutions() * - .toListOpenWorkflowExecutions() * - .toListTagsForResource() * - .toListWorkflowTypes() * - .toPollForActivityTask() * - .toPollForDecisionTask() * - .toRecordActivityTaskHeartbeat() * - .toRegisterActivityType() * - .toRegisterWorkflowType() * - .toRequestCancelWorkflowExecution() * - .toRespondActivityTaskCanceled() * - .toRespondActivityTaskCompleted() * - .toRespondActivityTaskFailed() * - .toRespondDecisionTaskCompleted() * - .toSignalWorkflowExecution() * - .toStartWorkflowExecution() * - .toTagResource() * - .toTerminateWorkflowExecution() * - .toUndeprecateActivityType() * - .toUndeprecateDomain() * - .toUndeprecateWorkflowType() * - .toUntagResource() * - .toCancelTimer() * - .toCancelWorkflowExecution() * - .toCompleteWorkflowExecution() * - .toContinueAsNewWorkflowExecution() * - .toFailWorkflowExecution() * - .toRecordMarker() * - .toRequestCancelActivityTask() * - .toRequestCancelExternalWorkflowExecution() * - .toScheduleActivityTask() * - .toSignalExternalWorkflowExecution() * - .toStartChildWorkflowExecution() * - .toStartTimer() * * Applies to resource types: * - domain * * @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 tag of the key * * https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-resourcetag * * Applies to actions: * - .toRegisterDomain() * - .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'); } /** * Filters access by the name of the activity type * * https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html##swf-dev-iam.api * * Applies to actions: * - .toDeleteActivityType() * - .toDeprecateActivityType() * - .toDescribeActivityType() * - .toRespondActivityTaskCompleted() * - .toUndeprecateActivityType() * * @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` */ ifActivityTypeName(value, operator) { return this.if(`activityType.name`, value, operator ?? 'StringLike'); } /** * Filters access by the version of the activity type * * https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html##swf-dev-iam.api * * Applies to actions: * - .toDeleteActivityType() * - .toDeprecateActivityType() * - .toDescribeActivityType() * - .toRespondActivityTaskCompleted() * - .toUndeprecateActivityType() * * @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` */ ifActivityTypeVersion(value, operator) { return this.if(`activityType.version`, value, operator ?? 'StringLike'); } /** * Filters access by the name of the default task list * * https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html##swf-dev-iam.api * * Applies to actions: * - .toRegisterActivityType() * - .toRegisterWorkflowType() * * @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` */ ifDefaultTaskListName(value, operator) { return this.if(`defaultTaskList.name`, value, operator ?? 'StringLike'); } /** * Filters access by the name of activities or workflows * * https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html##swf-dev-iam.api * * Applies to actions: * - .toRegisterActivityType() * - .toRegisterWorkflowType() * * @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` */ ifName(value, operator) { return this.if(`name`, value, operator ?? 'StringLike'); } /** * Filters access by the value of tagFilter.tag * * https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html##swf-dev-iam.api * * Applies to actions: * - .toCountClosedWorkflowExecutions() * - .toCountOpenWorkflowExecutions() * - .toListClosedWorkflowExecutions() * - .toListOpenWorkflowExecutions() * * @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` */ ifTagFilterTag(value, operator) { return this.if(`tagFilter.tag`, value, operator ?? 'StringLike'); } /** * Filters access by the specified tag * * https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html##swf-dev-iam.api * * Applies to actions: * - .toRespondActivityTaskCompleted() * - .toStartWorkflowExecution() * * @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` */ ifTagListMember0(value, operator) { return this.if(`tagList.member.0`, value, operator ?? 'StringLike'); } /** * Filters access by the specified tag * * https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html##swf-dev-iam.api * * Applies to actions: * - .toRespondActivityTaskCompleted() * - .toStartWorkflowExecution() * * @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` */ ifTagListMember1(value, operator) { return this.if(`tagList.member.1`, value, operator ?? 'StringLike'); } /** * Filters access by the specified tag * * https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html##swf-dev-iam.api * * Applies to actions: * - .toRespondActivityTaskCompleted() * - .toStartWorkflowExecution() * * @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` */ ifTagListMember2(value, operator) { return this.if(`tagList.member.2`, value, operator ?? 'StringLike'); } /** * Filters access by the specified tag * * https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html##swf-dev-iam.api * * Applies to actions: * - .toRespondActivityTaskCompleted() * - .toStartWorkflowExecution() * * @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` */ ifTagListMember3(value, operator) { return this.if(`tagList.member.3`, value, operator ?? 'StringLike'); } /** * Filters access by the specified tag * * https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html##swf-dev-iam.api * * Applies to actions: * - .toRespondActivityTaskCompleted() * - .toStartWorkflowExecution() * * @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` */ ifTagListMember4(value, operator) { return this.if(`tagList.member.4`, value, operator ?? 'StringLike'); } /** * Filters access by the name of the tasklist * * https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html##swf-dev-iam.api * * Applies to actions: * - .toCountPendingActivityTasks() * - .toCountPendingDecisionTasks() * - .toPollForActivityTask() * - .toPollForDecisionTask() * - .toRespondActivityTaskCompleted() * - .toStartWorkflowExecution() * * @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` */ ifTaskListName(value, operator) { return this.if(`taskList.name`, value, operator ?? 'StringLike'); } /** * Filters access by the name of the type filter * * https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html##swf-dev-iam.api * * Applies to actions: * - .toCountClosedWorkflowExecutions() * - .toCountOpenWorkflowExecutions() * - .toListClosedWorkflowExecutions() * - .toListOpenWorkflowExecutions() * * @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` */ ifTypeFilterName(value, operator) { return this.if(`typeFilter.name`, value, operator ?? 'StringLike'); } /** * Filters access by the version of the type filter * * https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html##swf-dev-iam.api * * Applies to actions: * - .toCountClosedWorkflowExecutions() * - .toCountOpenWorkflowExecutions() * - .toListClosedWorkflowExecutions() * - .toListOpenWorkflowExecutions() * * @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` */ ifTypeFilterVersion(value, operator) { return this.if(`typeFilter.version`, value, operator ?? 'StringLike'); } /** * Filters access by the version of activities or workflows * * https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html##swf-dev-iam.api * * Applies to actions: * - .toRegisterActivityType() * - .toRegisterWorkflowType() * * @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` */ ifVersion(value, operator) { return this.if(`version`, value, operator ?? 'StringLike'); } /** * Filters access by the name of the workflow type * * https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html##swf-dev-iam.api * * Applies to actions: * - .toDeleteWorkflowType() * - .toDeprecateWorkflowType() * - .toDescribeWorkflowType() * - .toRespondActivityTaskCompleted() * - .toStartWorkflowExecution() * - .toUndeprecateWorkflowType() * * @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` */ ifWorkflowTypeName(value, operator) { return this.if(`workflowType.name`, value, operator ?? 'StringLike'); } /** * Filters access by the version of the workflow type * * https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html##swf-dev-iam.api * * Applies to actions: * - .toDeleteWorkflowType() * - .toDeprecateWorkflowType() * - .toDescribeWorkflowType() * - .toRespondActivityTaskCompleted() * - .toStartWorkflowExecution() * - .toUndeprecateWorkflowType() * * @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` */ ifWorkflowTypeVersion(value, operator) { return this.if(`workflowType.version`, value, operator ?? 'StringLike'); } /** * Statement provider for service [swf](https://docs.aws.amazon.com/service-authorization/latest/reference/list_swf.html). * */ constructor(props) { super(props); this.servicePrefix = 'swf'; this.accessLevelList = { Read: [ 'CountClosedWorkflowExecutions', 'CountOpenWorkflowExecutions', 'CountPendingActivityTasks', 'CountPendingDecisionTasks', 'DescribeActivityType', 'DescribeDomain', 'DescribeWorkflowExecution', 'DescribeWorkflowType', 'GetWorkflowExecutionHistory' ], Write: [ 'DeleteActivityType', 'DeleteWorkflowType', 'DeprecateActivityType', 'DeprecateDomain', 'DeprecateWorkflowType', 'PollForActivityTask', 'PollForDecisionTask', 'RecordActivityTaskHeartbeat', 'RegisterActivityType', 'RegisterDomain', 'RegisterWorkflowType', 'RequestCancelWorkflowExecution', 'RespondActivityTaskCanceled', 'RespondActivityTaskCompleted', 'RespondActivityTaskFailed', 'RespondDecisionTaskCompleted', 'SignalWorkflowExecution', 'StartWorkflowExecution', 'TagResource', 'TerminateWorkflowExecution', 'UndeprecateActivityType', 'UndeprecateDomain', 'UndeprecateWorkflowType', 'UntagResource', 'CancelTimer', 'CancelWorkflowExecution', 'CompleteWorkflowExecution', 'ContinueAsNewWorkflowExecution', 'FailWorkflowExecution', 'RecordMarker', 'RequestCancelActivityTask', 'RequestCancelExternalWorkflowExecution', 'ScheduleActivityTask', 'SignalExternalWorkflowExecution', 'StartChildWorkflowExecution', 'StartTimer' ], List: [ 'ListActivityTypes', 'ListClosedWorkflowExecutions', 'ListDomains', 'ListOpenWorkflowExecutions', 'ListTagsForResource', 'ListWorkflowTypes' ], Tagging: [ 'TagResource', 'UntagResource' ] }; } } exports.Swf = Swf; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dmLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic3dmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHlDQUF5RDtBQUd6RDs7OztHQUlHO0FBQ0gsTUFBYSxHQUFJLFNBQVEsd0JBQWU7SUFHdEM7Ozs7OztPQU1HO0lBQ0ksK0JBQStCO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSw2QkFBNkI7UUFDbEMsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLDZCQUE2QixDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLDJCQUEyQjtRQUNoQyxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsMkJBQTJCLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksMkJBQTJCO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxvQkFBb0I7UUFDekIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLG9CQUFvQjtRQUN6QixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksdUJBQXVCO1FBQzVCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxpQkFBaUI7UUFDdEIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLHVCQUF1QjtRQUM1QixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsdUJBQXVCLENB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QWE7Z0JBQ2IseUJBQXlCO2dCQUN6QiwyQkFBMkI7Z0JBQzNCLGdDQUFnQztnQkFDaEMsdUJBQXVCO2dCQUN2QixjQUFjO2dCQUNkLDJCQUEyQjtnQkFDM0Isd0NBQXdDO2dCQUN4QyxzQkFBc0I7Z0JBQ3RCLGlDQUFpQztnQkFDakMsNkJBQTZCO2dCQUM3QixZQUFZO2FBQ2I7WUFDRCxJQUFJLEVBQUU7Z0JBQ0osbUJBQW1CO2dCQUNuQiw4QkFBOEI7Z0JBQzlCLGFBQWE7Z0JBQ2IsNEJBQTRCO2dCQUM1QixxQkFBcUI7Z0JBQ3JCLG1CQUFtQjthQUNwQjtZQUNELE9BQU8sRUFBRTtnQkFDUCxhQUFhO2dCQUNiLGVBQWU7YUFDaEI7U0FDRixDQUFDO0lBcVpGLENBQUM7Q0FDRjtBQXAvQkQsa0JBby9CQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjY2Vzc0xldmVsTGlzdCB9IGZyb20gJy4uLy4uL3NoYXJlZC9hY2Nlc3MtbGV2ZWwnO1xuaW1wb3J0IHsgUG9saWN5U3RhdGVtZW50LCBPcGVyYXRvciB9IGZyb20gJy4uLy4uL3NoYXJlZCc7XG5pbXBvcnQgeyBhd3NfaWFtIGFzIGlhbSB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuXG4vKipcbiAqIFN0YXRlbWVudCBwcm92aWRlciBmb3Igc2VydmljZSBbc3dmXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2VydmljZS1hdXRob3JpemF0aW9uL2xhdGVzdC9yZWZlcmVuY2UvbGlzdF9zd2YuaHRtbCkuXG4gKlxuICogQHBhcmFtIHNpZCBbU0lEXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vSUFNL2xhdGVzdC9Vc2VyR3VpZGUvcmVmZXJlbmNlX3BvbGljaWVzX2VsZW1lbnRzX3NpZC5odG1sKSBvZiB0aGUgc3RhdGVtZW50XG4gKi9cbmV4cG9ydCBjbGFzcyBTd2YgZXh0ZW5kcyBQb2xpY3lTdGF0ZW1lbnQge1xuICBwdWJsaWMgc2VydmljZVByZWZpeCA9ICdzd2YnO1xuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byByZXR1cm4gdGhlIG51bWJlciBvZiBjbG9zZWQgd29ya2Zsb3cgZXhlY3V0aW9ucyB3aXRoaW4gdGhlIGdpdmVuIGRvbWFpbiB0aGF0IG1lZXQgdGhlIHNwZWNpZmllZCBmaWx0ZXJpbmcgY3JpdGVyaWFcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBSZWFkXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hbWF6b25zd2YvbGF0ZXN0L2FwaXJlZmVyZW5jZS9BUElfQ291bnRDbG9zZWRXb3JrZmxvd0V4ZWN1dGlvbnMuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvQ291bnRDbG9zZWRXb3JrZmxvd0V4ZWN1dGlvbnMoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0NvdW50Q2xvc2VkV29ya2Zsb3dFeGVjdXRpb25zJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gcmV0dXJuIHRoZSBudW1iZXIgb2Ygb3BlbiB3b3JrZmxvdyBleGVjdXRpb25zIHdpdGhpbiB0aGUgZ2l2ZW4gZG9tYWluIHRoYXQgbWVldCB0aGUgc3BlY2lmaWVkIGZpbHRlcmluZyBjcml0ZXJpYVxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFJlYWRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2FtYXpvbnN3Zi9sYXRlc3QvYXBpcmVmZXJlbmNlL0FQSV9Db3VudE9wZW5Xb3JrZmxvd0V4ZWN1dGlvbnMuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvQ291bnRPcGVuV29ya2Zsb3dFeGVjdXRpb25zKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdDb3VudE9wZW5Xb3JrZmxvd0V4ZWN1dGlvbnMnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byByZXR1cm4gdGhlIGVzdGltYXRlZCBudW1iZXIgb2YgYWN0aXZpdHkgdGFza3MgaW4gdGhlIHNwZWNpZmllZCB0YXNrIGxpc3RcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBSZWFkXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hbWF6b25zd2YvbGF0ZXN0L2FwaXJlZmVyZW5jZS9BUElfQ291bnRQZW5kaW5nQWN0aXZpdHlUYXNrcy5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9Db3VudFBlbmRpbmdBY3Rpdml0eVRhc2tzKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdDb3VudFBlbmRpbmdBY3Rpdml0eVRhc2tzJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gcmV0dXJuIHRoZSBlc3RpbWF0ZWQgbnVtYmVyIG9mIGRlY2lzaW9uIHRhc2tzIGluIHRoZSBzcGVjaWZpZWQgdGFzayBsaXN0XG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogUmVhZFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vYW1hem9uc3dmL2xhdGVzdC9hcGlyZWZlcmVuY2UvQVBJX0NvdW50UGVuZGluZ0RlY2lzaW9uVGFza3MuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvQ291bnRQZW5kaW5nRGVjaXNpb25UYXNrcygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnQ291bnRQZW5kaW5nRGVjaXNpb25UYXNrcycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGRlbGV0ZSB0aGUgc3BlY2lmaWVkIGFjdGl2aXR5IHR5cGVcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtY