UNPKG

cdk-iam-floyd

Version:

AWS IAM policy statement generator with fluent interface for AWS CDK

744 lines (743 loc) 28.2 kB
import { AccessLevelList } from '../../shared/access-level'; import { PolicyStatement, Operator } from '../../shared'; import { aws_iam as iam } from "aws-cdk-lib"; /** * Statement provider for service [ses-pinpoint](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonpinpointemailservice.html). * * @param sid [SID](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_sid.html) of the statement */ export declare class SesPinpoint extends PolicyStatement { servicePrefix: string; /** * Grants permission to create a configuration set * * Access Level: Write * * Possible conditions: * - .ifApiVersion() * - .ifAwsTagKeys() * - .ifAwsRequestTag() * * https://docs.aws.amazon.com/pinpoint-email/latest/APIReference/API_CreateConfigurationSet.html */ toCreateConfigurationSet(): this; /** * Grants permission to create a configuration set event destination * * Access Level: Write * * Possible conditions: * - .ifApiVersion() * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/pinpoint-email/latest/APIReference/API_CreateConfigurationSetEventDestination.html */ toCreateConfigurationSetEventDestination(): this; /** * Grants permission to create a new pool of dedicated IP addresses * * Access Level: Write * * Possible conditions: * - .ifApiVersion() * - .ifAwsTagKeys() * - .ifAwsRequestTag() * * https://docs.aws.amazon.com/pinpoint-email/latest/APIReference/API_CreateDedicatedIpPool.html */ toCreateDedicatedIpPool(): this; /** * Grants permission to create a new predictive inbox placement test * * Access Level: Write * * Possible conditions: * - .ifApiVersion() * - .ifAwsTagKeys() * - .ifAwsRequestTag() * * https://docs.aws.amazon.com/pinpoint-email/latest/APIReference/API_CreateDeliverabilityTestReport.html */ toCreateDeliverabilityTestReport(): this; /** * Grants permission to start the process of verifying an email identity * * Access Level: Write * * Possible conditions: * - .ifApiVersion() * - .ifAwsTagKeys() * - .ifAwsRequestTag() * * https://docs.aws.amazon.com/pinpoint-email/latest/APIReference/API_CreateEmailIdentity.html */ toCreateEmailIdentity(): this; /** * Grants permission to delete an existing configuration set * * Access Level: Write * * Possible conditions: * - .ifApiVersion() * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/pinpoint-email/latest/APIReference/API_DeleteConfigurationSet.html */ toDeleteConfigurationSet(): this; /** * Grants permission to delete an event destination * * Access Level: Write * * Possible conditions: * - .ifApiVersion() * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/pinpoint-email/latest/APIReference/API_DeleteConfigurationSetEventDestination.html */ toDeleteConfigurationSetEventDestination(): this; /** * Grants permission to delete a dedicated IP pool * * Access Level: Write * * Possible conditions: * - .ifApiVersion() * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/pinpoint-email/latest/APIReference/API_DeleteDedicatedIpPool.html */ toDeleteDedicatedIpPool(): this; /** * Grants permission to delete an email identity that you previously verified * * Access Level: Write * * Possible conditions: * - .ifApiVersion() * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/pinpoint-email/latest/APIReference/API_DeleteEmailIdentity.html */ toDeleteEmailIdentity(): this; /** * Grants permission to get information about the email-sending status and capabilities * * Access Level: Read * * Possible conditions: * - .ifApiVersion() * * https://docs.aws.amazon.com/pinpoint-email/latest/APIReference/API_GetAccount.html */ toGetAccount(): this; /** * Grants permission to retrieve a list of the deny lists on which your dedicated IP addresses appear * * Access Level: Read * * Possible conditions: * - .ifApiVersion() * * https://docs.aws.amazon.com/pinpoint-email/latest/APIReference/API_GetBlacklistReports.html */ toGetBlacklistReports(): this; /** * Grants permission to get information about an existing configuration set * * Access Level: Read * * Possible conditions: * - .ifApiVersion() * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/pinpoint-email/latest/APIReference/API_GetConfigurationSet.html */ toGetConfigurationSet(): this; /** * Grants permission to retrieve a list of event destinations that are associated with a configuration set * * Access Level: Read * * Possible conditions: * - .ifApiVersion() * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/pinpoint-email/latest/APIReference/API_GetConfigurationSetEventDestinations.html */ toGetConfigurationSetEventDestinations(): this; /** * Grants permission to get information about a dedicated IP address * * Access Level: Read * * Possible conditions: * - .ifApiVersion() * * https://docs.aws.amazon.com/pinpoint-email/latest/APIReference/API_GetDedicatedIp.html */ toGetDedicatedIp(): this; /** * Grants permission to list the dedicated IP addresses that are associated with your account * * Access Level: Read * * Possible conditions: * - .ifApiVersion() * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/pinpoint-email/latest/APIReference/API_GetDedicatedIps.html */ toGetDedicatedIps(): this; /** * Grants permission to get the status of the Deliverability dashboard * * Access Level: Read * * Possible conditions: * - .ifApiVersion() * * https://docs.aws.amazon.com/pinpoint-email/latest/APIReference/API_GetDeliverabilityDashboardOptions.html */ toGetDeliverabilityDashboardOptions(): this; /** * Grants permission to retrieve the results of a predictive inbox placement test * * Access Level: Read * * Possible conditions: * - .ifApiVersion() * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/pinpoint-email/latest/APIReference/API_GetDeliverabilityTestReport.html */ toGetDeliverabilityTestReport(): this; /** * Grants permission to retrieve all the deliverability data for a specific campaign * * Access Level: Read * * Possible conditions: * - .ifApiVersion() * * https://docs.aws.amazon.com/pinpoint-email/latest/APIReference/API_GetDomainDeliverabilityCampaign.html */ toGetDomainDeliverabilityCampaign(): this; /** * Grants permission to retrieve inbox placement and engagement rates for the domains that you use to send email * * Access Level: Read * * Possible conditions: * - .ifApiVersion() * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/pinpoint-email/latest/APIReference/API_GetDomainStatisticsReport.html */ toGetDomainStatisticsReport(): this; /** * Grants permission to get information about a specific identity associated with your account * * Access Level: Read * * Possible conditions: * - .ifApiVersion() * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/pinpoint-email/latest/APIReference/API_GetEmailIdentity.html */ toGetEmailIdentity(): this; /** * Grants permission to list all of the configuration sets associated with your account * * Access Level: List * * Possible conditions: * - .ifApiVersion() * * https://docs.aws.amazon.com/pinpoint-email/latest/APIReference/API_ListConfigurationSets.html */ toListConfigurationSets(): this; /** * Grants permission to list all of the dedicated IP pools that exist in your account * * Access Level: List * * Possible conditions: * - .ifApiVersion() * * https://docs.aws.amazon.com/pinpoint-email/latest/APIReference/API_ListDedicatedIpPools.html */ toListDedicatedIpPools(): this; /** * Grants permission to retrieve a list of the predictive inbox placement tests that you've performed, regardless of their statuses * * Access Level: List * * Possible conditions: * - .ifApiVersion() * * https://docs.aws.amazon.com/pinpoint-email/latest/APIReference/API_ListDeliverabilityTestReports.html */ toListDeliverabilityTestReports(): this; /** * Grants permission to retrieve deliverability data for all the campaigns that used a specific domain to send email during a specified time range * * Access Level: Read * * Possible conditions: * - .ifApiVersion() * * https://docs.aws.amazon.com/pinpoint-email/latest/APIReference/API_ListDomainDeliverabilityCampaigns.html */ toListDomainDeliverabilityCampaigns(): this; /** * Grants permission to list all of the email identities that are associated with your account * * Access Level: List * * Possible conditions: * - .ifApiVersion() * * https://docs.aws.amazon.com/pinpoint-email/latest/APIReference/API_ListEmailIdentities.html */ toListEmailIdentities(): this; /** * Grants permission to retrieve a list of the tags (keys and values) that are associated with a specific resource * * Access Level: Read * * Possible conditions: * - .ifApiVersion() * * https://docs.aws.amazon.com/pinpoint-email/latest/APIReference/API_ListTagsForResource.html */ toListTagsForResource(): this; /** * Grants permission to enable or disable the automatic warm-up feature for dedicated IP addresses * * Access Level: Write * * Possible conditions: * - .ifApiVersion() * * https://docs.aws.amazon.com/pinpoint-email/latest/APIReference/API_PutAccountDedicatedIpWarmupAttributes.html */ toPutAccountDedicatedIpWarmupAttributes(): this; /** * Grants permission to enable or disable the ability of your account to send email * * Access Level: Write * * Possible conditions: * - .ifApiVersion() * * https://docs.aws.amazon.com/pinpoint-email/latest/APIReference/API_PutAccountSendingAttributes.html */ toPutAccountSendingAttributes(): this; /** * Grants permission to associate a configuration set with a dedicated IP pool * * Access Level: Write * * Possible conditions: * - .ifApiVersion() * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/pinpoint-email/latest/APIReference/API_PutConfigurationSetDeliveryOptions.html */ toPutConfigurationSetDeliveryOptions(): this; /** * Grants permission to enable or disable collection of reputation metrics for emails that you send using a particular configuration set * * Access Level: Write * * Possible conditions: * - .ifApiVersion() * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/pinpoint-email/latest/APIReference/API_PutConfigurationSetReputationOptions.html */ toPutConfigurationSetReputationOptions(): this; /** * Grants permission to enable or disable email sending for messages that use a particular configuration set * * Access Level: Write * * Possible conditions: * - .ifApiVersion() * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/pinpoint-email/latest/APIReference/API_PutConfigurationSetSendingOptions.html */ toPutConfigurationSetSendingOptions(): this; /** * Grants permission to specify a custom domain to use for open and click tracking elements in email that you send using a particular configuration set * * Access Level: Write * * Possible conditions: * - .ifApiVersion() * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/pinpoint-email/latest/APIReference/API_PutConfigurationSetTrackingOptions.html */ toPutConfigurationSetTrackingOptions(): this; /** * Grants permission to move a dedicated IP address to an existing dedicated IP pool * * Access Level: Write * * Possible conditions: * - .ifApiVersion() * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/pinpoint-email/latest/APIReference/API_PutDedicatedIpInPool.html */ toPutDedicatedIpInPool(): this; /** * Grants permission to enable dedicated IP warm up attributes * * Access Level: Write * * Possible conditions: * - .ifApiVersion() * * https://docs.aws.amazon.com/pinpoint-email/latest/APIReference/API_PutDedicatedIpWarmupAttributes.html */ toPutDedicatedIpWarmupAttributes(): this; /** * Grants permission to enable or disable the Deliverability dashboard * * Access Level: Write * * Possible conditions: * - .ifApiVersion() * * https://docs.aws.amazon.com/pinpoint-email/latest/APIReference/API_PutDeliverabilityDashboardOption.html */ toPutDeliverabilityDashboardOption(): this; /** * Grants permission to enable or disable DKIM authentication for an email identity * * Access Level: Write * * Possible conditions: * - .ifApiVersion() * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/pinpoint-email/latest/APIReference/API_PutEmailIdentityDkimAttributes.html */ toPutEmailIdentityDkimAttributes(): this; /** * Grants permission to enable or disable feedback forwarding for an identity * * Access Level: Write * * Possible conditions: * - .ifApiVersion() * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/pinpoint-email/latest/APIReference/API_PutEmailIdentityFeedbackAttributes.html */ toPutEmailIdentityFeedbackAttributes(): this; /** * Grants permission to enable or disable the custom MAIL FROM domain configuration for an email identity * * Access Level: Write * * Possible conditions: * - .ifApiVersion() * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/pinpoint-email/latest/APIReference/API_PutEmailIdentityMailFromAttributes.html */ toPutEmailIdentityMailFromAttributes(): this; /** * Grants permission to send an email message * * Access Level: Write * * Possible conditions: * - .ifApiVersion() * - .ifFeedbackAddress() * - .ifFromAddress() * - .ifFromDisplayName() * - .ifRecipients() * * https://docs.aws.amazon.com/pinpoint-email/latest/APIReference/API_SendEmail.html */ toSendEmail(): this; /** * Grants permission to add one or more tags (keys and values) to a specified resource * * Access Level: Tagging * * Possible conditions: * - .ifApiVersion() * - .ifAwsTagKeys() * - .ifAwsRequestTag() * * https://docs.aws.amazon.com/pinpoint-email/latest/APIReference/API_TagResource.html */ toTagResource(): this; /** * Grants permission to remove one or more tags (keys and values) from a specified resource * * Access Level: Tagging * * Possible conditions: * - .ifApiVersion() * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/pinpoint-email/latest/APIReference/API_UntagResource.html */ toUntagResource(): this; /** * Grants permission to update the configuration of an event destination for a configuration set * * Access Level: Write * * Possible conditions: * - .ifApiVersion() * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/pinpoint-email/latest/APIReference/API_UpdateConfigurationSetEventDestination.html */ toUpdateConfigurationSetEventDestination(): this; protected accessLevelList: AccessLevelList; /** * Adds a resource of type configuration-set to the statement * * https://docs.aws.amazon.com/pinpoint-email/latest/APIReference/API_CreateConfigurationSet.html * * @param configurationSetName - Identifier for the configurationSetName. * @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() */ onConfigurationSet(configurationSetName: string, account?: string, region?: string, partition?: string): this; /** * Adds a resource of type dedicated-ip-pool to the statement * * https://docs.aws.amazon.com/pinpoint-email/latest/APIReference/API_DedicatedIp.html * * @param dedicatedIPPool - Identifier for the dedicatedIPPool. * @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() */ onDedicatedIpPool(dedicatedIPPool: string, account?: string, region?: string, partition?: string): this; /** * Adds a resource of type deliverability-test-report to the statement * * https://docs.aws.amazon.com/pinpoint-email/latest/APIReference/API_DeliverabilityTestReport.html * * @param reportId - Identifier for the reportId. * @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() */ onDeliverabilityTestReport(reportId: string, account?: string, region?: string, partition?: string): this; /** * Adds a resource of type identity to the statement * * https://docs.aws.amazon.com/pinpoint-email/latest/APIReference/API_IdentityInfo.html * * @param identityName - Identifier for the identityName. * @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() */ onIdentity(identityName: string, account?: string, region?: string, partition?: string): this; /** * Filters actions based on the presence of tag key-value pairs in the request * * https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-requesttag * * Applies to actions: * - .toCreateConfigurationSet() * - .toCreateDedicatedIpPool() * - .toCreateDeliverabilityTestReport() * - .toCreateEmailIdentity() * - .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: string, value: string | string[], operator?: Operator | string): this; /** * Filters actions based on tag key-value pairs attached to the resource * * https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-resourcetag * * Applies to actions: * - .toCreateConfigurationSetEventDestination() * - .toDeleteConfigurationSet() * - .toDeleteConfigurationSetEventDestination() * - .toDeleteDedicatedIpPool() * - .toDeleteEmailIdentity() * - .toGetConfigurationSet() * - .toGetConfigurationSetEventDestinations() * - .toGetDedicatedIps() * - .toGetDeliverabilityTestReport() * - .toGetDomainStatisticsReport() * - .toGetEmailIdentity() * - .toPutConfigurationSetDeliveryOptions() * - .toPutConfigurationSetReputationOptions() * - .toPutConfigurationSetSendingOptions() * - .toPutConfigurationSetTrackingOptions() * - .toPutDedicatedIpInPool() * - .toPutEmailIdentityDkimAttributes() * - .toPutEmailIdentityFeedbackAttributes() * - .toPutEmailIdentityMailFromAttributes() * - .toUpdateConfigurationSetEventDestination() * * Applies to resource types: * - configuration-set * - dedicated-ip-pool * - deliverability-test-report * - identity * * @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 actions based on the presence of tag keys in the request * * https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-tagkeys * * Applies to actions: * - .toCreateConfigurationSet() * - .toCreateDedicatedIpPool() * - .toCreateDeliverabilityTestReport() * - .toCreateEmailIdentity() * - .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: string | string[], operator?: Operator | string): this; /** * Filters actions based on the SES API version * * https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonses.html#amazonses-policy-keys * * Applies to actions: * - .toCreateConfigurationSet() * - .toCreateConfigurationSetEventDestination() * - .toCreateDedicatedIpPool() * - .toCreateDeliverabilityTestReport() * - .toCreateEmailIdentity() * - .toDeleteConfigurationSet() * - .toDeleteConfigurationSetEventDestination() * - .toDeleteDedicatedIpPool() * - .toDeleteEmailIdentity() * - .toGetAccount() * - .toGetBlacklistReports() * - .toGetConfigurationSet() * - .toGetConfigurationSetEventDestinations() * - .toGetDedicatedIp() * - .toGetDedicatedIps() * - .toGetDeliverabilityDashboardOptions() * - .toGetDeliverabilityTestReport() * - .toGetDomainDeliverabilityCampaign() * - .toGetDomainStatisticsReport() * - .toGetEmailIdentity() * - .toListConfigurationSets() * - .toListDedicatedIpPools() * - .toListDeliverabilityTestReports() * - .toListDomainDeliverabilityCampaigns() * - .toListEmailIdentities() * - .toListTagsForResource() * - .toPutAccountDedicatedIpWarmupAttributes() * - .toPutAccountSendingAttributes() * - .toPutConfigurationSetDeliveryOptions() * - .toPutConfigurationSetReputationOptions() * - .toPutConfigurationSetSendingOptions() * - .toPutConfigurationSetTrackingOptions() * - .toPutDedicatedIpInPool() * - .toPutDedicatedIpWarmupAttributes() * - .toPutDeliverabilityDashboardOption() * - .toPutEmailIdentityDkimAttributes() * - .toPutEmailIdentityFeedbackAttributes() * - .toPutEmailIdentityMailFromAttributes() * - .toSendEmail() * - .toTagResource() * - .toUntagResource() * - .toUpdateConfigurationSetEventDestination() * * @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` */ ifApiVersion(value: string | string[], operator?: Operator | string): this; /** * Filters actions based on the "Return-Path" address, which specifies where bounces and complaints are sent by email feedback forwarding * * https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonses.html#amazonses-policy-keys * * Applies to actions: * - .toSendEmail() * * @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` */ ifFeedbackAddress(value: string | string[], operator?: Operator | string): this; /** * Filters actions based on the "From" address of a message * * https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonses.html#amazonses-policy-keys * * Applies to actions: * - .toSendEmail() * * @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` */ ifFromAddress(value: string | string[], operator?: Operator | string): this; /** * Filters actions based on the "From" address that is used as the display name of a message * * https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonses.html#amazonses-policy-keys * * Applies to actions: * - .toSendEmail() * * @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` */ ifFromDisplayName(value: string | string[], operator?: Operator | string): this; /** * Filters actions based on the recipient addresses of a message, which include the "To", "CC", and "BCC" addresses * * https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonses.html#amazonses-policy-keys * * Applies to actions: * - .toSendEmail() * * @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` */ ifRecipients(value: string | string[], operator?: Operator | string): this; /** * Statement provider for service [ses-pinpoint](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonpinpointemailservice.html). * */ constructor(props?: iam.PolicyStatementProps); }