iam-floyd
Version:
AWS IAM policy statement generator with fluent interface
374 lines (373 loc) • 14.2 kB
TypeScript
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;
}