UNPKG

iam-floyd

Version:

AWS IAM policy statement generator with fluent interface

374 lines (373 loc) 14.2 kB
import { AccessLevelList } from '../../shared/access-level'; import { PolicyStatement, Operator } from '../../shared'; /** * Statement provider for service [appflow](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonappflow.html). * * @param sid [SID](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_sid.html) of the statement */ export declare class Appflow extends PolicyStatement { servicePrefix: string; /** * Statement provider for service [appflow](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonappflow.html). * * @param sid [SID](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_sid.html) of the statement */ constructor(sid?: string); /** * Grants permission to cancel in-progress executions of an Amazon AppFlow flow * * Access Level: Write * * https://docs.aws.amazon.com/appflow/1.0/APIReference/API_CancelFlowExecutions.html */ toCancelFlowExecutions(): this; /** * Grants permission to create a login profile to be used with Amazon AppFlow flows * * Access Level: Write * * https://docs.aws.amazon.com/appflow/1.0/APIReference/API_CreateConnectorProfile.html */ toCreateConnectorProfile(): this; /** * Grants permission to create an Amazon AppFlow flow * * Access Level: Write * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/appflow/1.0/APIReference/API_CreateFlow.html */ toCreateFlow(): this; /** * Grants permission to delete a login profile configured in Amazon AppFlow * * Access Level: Write * * https://docs.aws.amazon.com/appflow/1.0/APIReference/API_DescribeConnectorProfiles.html */ toDeleteConnectorProfile(): this; /** * Grants permission to delete an Amazon AppFlow flow * * Access Level: Write * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/appflow/1.0/APIReference/API_DeleteFlow.html */ toDeleteFlow(): this; /** * Grants permission to describe a connector registered in Amazon AppFlow * * Access Level: Read * * https://docs.aws.amazon.com/appflow/1.0/APIReference/API_DescribeConnector.html */ toDescribeConnector(): this; /** * Grants permission to describe all fields for an object in a login profile configured in Amazon AppFlow * * Access Level: Read * * https://docs.aws.amazon.com/appflow/1.0/APIReference/API_DescribeConnectorEntity.html */ toDescribeConnectorEntity(): this; /** * Grants permission to describe all fields for an object in a login profile configured in Amazon AppFlow (Console Only) * * Access Level: Read * * https://docs.aws.amazon.com/appflow/latest/userguide/identity-access-management.html#appflow-api-actions */ toDescribeConnectorFields(): this; /** * Grants permission to describe all login profiles configured in Amazon AppFlow * * Access Level: Read * * https://docs.aws.amazon.com/appflow/1.0/APIReference/API_DescribeConnectorProfiles.html */ toDescribeConnectorProfiles(): this; /** * Grants permission to describe all connectors supported by Amazon AppFlow * * Access Level: Read * * https://docs.aws.amazon.com/appflow/1.0/APIReference/API_DescribeConnectors.html */ toDescribeConnectors(): this; /** * Grants permission to describe a specific flow configured in Amazon AppFlow * * Access Level: Read * * https://docs.aws.amazon.com/appflow/1.0/APIReference/API_DescribeFlow.html */ toDescribeFlow(): this; /** * Grants permission to describe all flow executions for a flow configured in Amazon AppFlow (Console Only) * * Access Level: Read * * https://docs.aws.amazon.com/appflow/latest/userguide/identity-access-management.html#appflow-api-actions */ toDescribeFlowExecution(): this; /** * Grants permission to describe all flow executions for a flow configured in Amazon AppFlow * * Access Level: Read * * https://docs.aws.amazon.com/appflow/1.0/APIReference/API_DescribeFlowExecutionRecords.html */ toDescribeFlowExecutionRecords(): this; /** * Grants permission to describe all flows configured in Amazon AppFlow (Console Only) * * Access Level: Read * * https://docs.aws.amazon.com/appflow/latest/userguide/identity-access-management.html#appflow-api-actions */ toDescribeFlows(): this; /** * Grants permission to list all objects for a login profile configured in Amazon AppFlow * * Access Level: List * * https://docs.aws.amazon.com/appflow/1.0/APIReference/API_ListConnectorEntities.html */ toListConnectorEntities(): this; /** * Grants permission to list all objects for a login profile configured in Amazon AppFlow (Console Only) * * Access Level: Read * * https://docs.aws.amazon.com/appflow/latest/userguide/identity-access-management.html#appflow-api-actions */ toListConnectorFields(): this; /** * Grants permission to list all connectors supported in Amazon AppFlow * * Access Level: List * * https://docs.aws.amazon.com/appflow/1.0/APIReference/API_ListConnectors.html */ toListConnectors(): this; /** * Grants permission to list all flows configured in Amazon AppFlow * * Access Level: List * * https://docs.aws.amazon.com/appflow/1.0/APIReference/API_ListFlows.html */ toListFlows(): this; /** * Grants permission to list tags for a flow * * Access Level: Read * * https://docs.aws.amazon.com/appflow/1.0/APIReference/API_ListTagsForResource.html */ toListTagsForResource(): this; /** * Grants permission to register an Amazon AppFlow connector * * Access Level: Write * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/appflow/1.0/APIReference/API_RegisterConnector.html */ toRegisterConnector(): this; /** * Grants permission to resets metadata of connector entities that Amazon AppFlow stored in its cache * * Access Level: Write * * https://docs.aws.amazon.com/appflow/1.0/APIReference/API_ResetConnectorMetadataCache.html */ toResetConnectorMetadataCache(): this; /** * Grants permission to run a flow configured in Amazon AppFlow (Console Only) * * Access Level: Write * * https://docs.aws.amazon.com/appflow/latest/userguide/identity-access-management.html#appflow-api-actions */ toRunFlow(): this; /** * Grants permission to activate (for scheduled and event-triggered flows) or run (for on-demand flows) a flow configured in Amazon AppFlow * * Access Level: Write * * https://docs.aws.amazon.com/appflow/1.0/APIReference/API_StartFlow.html */ toStartFlow(): this; /** * Grants permission to deactivate a scheduled or event-triggered flow configured in Amazon AppFlow * * Access Level: Write * * https://docs.aws.amazon.com/appflow/1.0/APIReference/API_StopFlow.html */ toStopFlow(): this; /** * Grants permission to tag a flow or a connector * * Access Level: Tagging * * Possible conditions: * - .ifAwsTagKeys() * - .ifAwsRequestTag() * * https://docs.aws.amazon.com/appflow/1.0/APIReference/API_TagResource.html */ toTagResource(): this; /** * Grants permission to un-register a connector in Amazon AppFlow * * Access Level: Write * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/appflow/1.0/APIReference/API_UnregisterConnector.html */ toUnRegisterConnector(): this; /** * Grants permission to untag a flow or a connector * * Access Level: Tagging * * Possible conditions: * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/appflow/1.0/APIReference/API_UntagResource.html */ toUntagResource(): this; /** * Grants permission to update a login profile configured in Amazon AppFlow * * Access Level: Write * * https://docs.aws.amazon.com/appflow/1.0/APIReference/API_UpdateConnectorProfile.html */ toUpdateConnectorProfile(): this; /** * Grants permission to update a registered connector configured in Amazon AppFlow * * Access Level: Write * * https://docs.aws.amazon.com/appflow/1.0/APIReference/API_UpdateConnectorRegistration.html */ toUpdateConnectorRegistration(): this; /** * Grants permission to update a flow configured in Amazon AppFlow * * Access Level: Write * * https://docs.aws.amazon.com/appflow/1.0/APIReference/API_UpdateFlow.html */ toUpdateFlow(): this; /** * Grants permission to use a connector profile while creating a flow in Amazon AppFlow * * Access Level: Write */ toUseConnectorProfile(): this; protected accessLevelList: AccessLevelList; /** * Adds a resource of type connectorprofile to the statement * * https://docs.aws.amazon.com/appflow/1.0/APIReference/API_ConnectorProfile.html * * @param profileName - Identifier for the profileName. * @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. */ onConnectorprofile(profileName: string, account?: string, region?: string, partition?: string): this; /** * Adds a resource of type flow to the statement * * https://docs.aws.amazon.com/appflow/1.0/APIReference/API_FlowDefinition.html * * @param flowName - Identifier for the flowName. * @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() */ onFlow(flowName: string, account?: string, region?: string, partition?: string): this; /** * Adds a resource of type connector to the statement * * https://docs.aws.amazon.com/appflow/1.0/APIReference/API_ConnectorDetail.html * * @param connectorLabel - Identifier for the connectorLabel. * @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() */ onConnector(connectorLabel: string, account?: string, region?: string, partition?: string): this; /** * Filters access by allowed set of values for each of the tags * * https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-requesttag * * Applies to actions: * - .toCreateFlow() * - .toDeleteFlow() * - .toRegisterConnector() * - .toTagResource() * - .toUnRegisterConnector() * * @param tagKey The tag key to check * @param value The value(s) to check * @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike` */ ifAwsRequestTag(tagKey: string, value: string | string[], operator?: Operator | string): this; /** * Filters access by tag-value associated with the resource * * https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-resourcetag * * Applies to resource types: * - flow * - connector * * @param tagKey The tag key to check * @param value The value(s) to check * @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike` */ ifAwsResourceTag(tagKey: string, value: string | string[], operator?: Operator | string): this; /** * Filters access by presence of mandatory tags in the request * * https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-tagkeys * * Applies to actions: * - .toCreateFlow() * - .toDeleteFlow() * - .toRegisterConnector() * - .toTagResource() * - .toUnRegisterConnector() * - .toUntagResource() * * @param value The value(s) to check * @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike` */ ifAwsTagKeys(value: string | string[], operator?: Operator | string): this; }