UNPKG

cdk-iam-floyd

Version:

AWS IAM policy statement generator with fluent interface for AWS CDK

405 lines (404 loc) 15.1 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 [billingconductor](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsbillingconductor.html). * * @param sid [SID](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_sid.html) of the statement */ export declare class Billingconductor extends PolicyStatement { servicePrefix: string; /** * Grants permission to associate between one and 30 accounts to a billing group * * Access Level: Write * * https://docs.aws.amazon.com/billingconductor/latest/APIReference/API_AssociateAccounts.html */ toAssociateAccounts(): this; /** * Grants permission to associate pricing rules * * Access Level: Write * * https://docs.aws.amazon.com/billingconductor/latest/APIReference/API_AssociatePricingRules.html */ toAssociatePricingRules(): this; /** * Grants permission to batch associate resources to a percentage custom line item * * Access Level: Write * * https://docs.aws.amazon.com/billingconductor/latest/APIReference/API_BatchAssociateResourcesToCustomLineItem.html */ toBatchAssociateResourcesToCustomLineItem(): this; /** * Grants permission to batch disassociate resources from a percentage custom line item * * Access Level: Write * * https://docs.aws.amazon.com/billingconductor/latest/APIReference/API_BatchDisassociateResourcesFromCustomLineItem.html */ toBatchDisassociateResourcesFromCustomLineItem(): this; /** * Grants permission to create a billing group * * Access Level: Write * * Possible conditions: * - .ifAwsTagKeys() * - .ifAwsRequestTag() * * https://docs.aws.amazon.com/billingconductor/latest/APIReference/API_CreateBillingGroup.html */ toCreateBillingGroup(): this; /** * Grants permission to create a custom line item * * Access Level: Write * * Possible conditions: * - .ifAwsTagKeys() * - .ifAwsRequestTag() * * https://docs.aws.amazon.com/billingconductor/latest/APIReference/API_CreateCustomLineItem.html */ toCreateCustomLineItem(): this; /** * Grants permission to create a pricing plan * * Access Level: Write * * Possible conditions: * - .ifAwsTagKeys() * - .ifAwsRequestTag() * * https://docs.aws.amazon.com/billingconductor/latest/APIReference/API_CreatePricingPlan.html */ toCreatePricingPlan(): this; /** * Grants permission to create a pricing rule * * Access Level: Write * * Possible conditions: * - .ifAwsTagKeys() * - .ifAwsRequestTag() * * https://docs.aws.amazon.com/billingconductor/latest/APIReference/API_CreatePricingRule.html */ toCreatePricingRule(): this; /** * Grants permission to delete a billing group * * Access Level: Write * * https://docs.aws.amazon.com/billingconductor/latest/APIReference/API_DeleteBillingGroup.html */ toDeleteBillingGroup(): this; /** * Grants permission to delete a custom line item * * Access Level: Write * * https://docs.aws.amazon.com/billingconductor/latest/APIReference/API_DeleteCustomLineItem.html */ toDeleteCustomLineItem(): this; /** * Grants permission to delete a pricing plan * * Access Level: Write * * https://docs.aws.amazon.com/billingconductor/latest/APIReference/API_DeletePricingPlan.html */ toDeletePricingPlan(): this; /** * Grants permission to delete a pricing rule * * Access Level: Write * * https://docs.aws.amazon.com/billingconductor/latest/APIReference/API_DeletePricingRule.html */ toDeletePricingRule(): this; /** * Grants permission to detach between one and 30 accounts from a billing group * * Access Level: Write * * https://docs.aws.amazon.com/billingconductor/latest/APIReference/API_DisassociateAccounts.html */ toDisassociateAccounts(): this; /** * Grants permission to disassociate pricing rules * * Access Level: Write * * https://docs.aws.amazon.com/billingconductor/latest/APIReference/API_DisassociatePricingRules.html */ toDisassociatePricingRules(): this; /** * Grants permission to view the billing group cost report for the specified billing group * * Access Level: Read * * https://docs.aws.amazon.com/billingconductor/latest/APIReference/API_GetBillingGroupCostReport.html */ toGetBillingGroupCostReport(): this; /** * Grants permission to list the linked accounts of the payer account for the given billing period while also providing the billing group the linked accounts belong to * * Access Level: List * * https://docs.aws.amazon.com/billingconductor/latest/APIReference/API_ListAccountAssociations.html */ toListAccountAssociations(): this; /** * Grants permission to view the billing group cost report * * Access Level: Read * * https://docs.aws.amazon.com/billingconductor/latest/APIReference/API_ListBillingGroupCostReports.html */ toListBillingGroupCostReports(): this; /** * Grants permission to view the details of billing groups * * Access Level: Read * * https://docs.aws.amazon.com/billingconductor/latest/APIReference/API_ListBillingGroups.html */ toListBillingGroups(): this; /** * Grants permission to view custom line item versions * * Access Level: Read * * https://docs.aws.amazon.com/billingconductor/latest/APIReference/API_ListCustomLineItemVersions.html */ toListCustomLineItemVersions(): this; /** * Grants permission to view custom line item details * * Access Level: Read * * https://docs.aws.amazon.com/billingconductor/latest/APIReference/API_ListCustomLineItems.html */ toListCustomLineItems(): this; /** * Grants permission to view the pricing plans details * * Access Level: Read * * https://docs.aws.amazon.com/billingconductor/latest/APIReference/API_ListPricingPlans.html */ toListPricingPlans(): this; /** * Grants permission to list pricing plans associated with a pricing rule * * Access Level: List * * https://docs.aws.amazon.com/billingconductor/latest/APIReference/API_ListPricingPlansAssociatedWithPricingRule.html */ toListPricingPlansAssociatedWithPricingRule(): this; /** * Grants permission to view pricing rules details * * Access Level: Read * * https://docs.aws.amazon.com/billingconductor/latest/APIReference/API_ListPricingRules.html */ toListPricingRules(): this; /** * Grants permission to list pricing rules associated to a pricing plan * * Access Level: List * * https://docs.aws.amazon.com/billingconductor/latest/APIReference/API_ListPricingRulesAssociatedToPricingPlan.html */ toListPricingRulesAssociatedToPricingPlan(): this; /** * Grants permission to list resources associated to a percentage custom line item * * Access Level: List * * https://docs.aws.amazon.com/billingconductor/latest/APIReference/API_ListResourcesAssociatedToCustomLineItem.html */ toListResourcesAssociatedToCustomLineItem(): this; /** * Grants permission to list tags of a resource * * Access Level: Read * * Possible conditions: * - .ifAwsTagKeys() * - .ifAwsRequestTag() * * https://docs.aws.amazon.com/billingconductor/latest/APIReference/API_ListTagsForResource.html */ toListTagsForResource(): this; /** * Grants permission to tag a resource * * Access Level: Tagging * * Possible conditions: * - .ifAwsTagKeys() * - .ifAwsRequestTag() * * https://docs.aws.amazon.com/billingconductor/latest/APIReference/API_TagResource.html */ toTagResource(): this; /** * Grants permission to untag a resource * * Access Level: Tagging * * Possible conditions: * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/billingconductor/latest/APIReference/API_UntagResource.html */ toUntagResource(): this; /** * Grants permission to update a billing group * * Access Level: Write * * https://docs.aws.amazon.com/billingconductor/latest/APIReference/API_UpdateBillingGroup.html */ toUpdateBillingGroup(): this; /** * Grants permission to update a custom line item * * Access Level: Write * * https://docs.aws.amazon.com/billingconductor/latest/APIReference/API_UpdateCustomLineItem.html */ toUpdateCustomLineItem(): this; /** * Grants permission to update a pricing plan * * Access Level: Write * * https://docs.aws.amazon.com/billingconductor/latest/APIReference/API_UpdatePricingPlan.html */ toUpdatePricingPlan(): this; /** * Grants permission to update a pricing rule * * Access Level: Write * * https://docs.aws.amazon.com/billingconductor/latest/APIReference/API_UpdatePricingRule.html */ toUpdatePricingRule(): this; protected accessLevelList: AccessLevelList; /** * Adds a resource of type billinggroup to the statement * * https://docs.aws.amazon.com/billingconductor/latest/userguide/understanding-abc.html * * @param billingGroupId - Identifier for the billingGroupId. * @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() */ onBillinggroup(billingGroupId: string, account?: string, partition?: string): this; /** * Adds a resource of type pricingplan to the statement * * https://docs.aws.amazon.com/billingconductor/latest/userguide/understanding-abc.html * * @param pricingPlanId - Identifier for the pricingPlanId. * @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() */ onPricingplan(pricingPlanId: string, account?: string, partition?: string): this; /** * Adds a resource of type pricingrule to the statement * * https://docs.aws.amazon.com/billingconductor/latest/userguide/understanding-abc.html * * @param pricingRuleId - Identifier for the pricingRuleId. * @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() */ onPricingrule(pricingRuleId: string, account?: string, partition?: string): this; /** * Adds a resource of type customlineitem to the statement * * https://docs.aws.amazon.com/billingconductor/latest/userguide/understanding-abc.html * * @param customLineItemId - Identifier for the customLineItemId. * @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() */ onCustomlineitem(customLineItemId: string, account?: string, partition?: string): this; /** * Filters access by the tags that are passed in the request * * https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-requesttag * * Applies to actions: * - .toCreateBillingGroup() * - .toCreateCustomLineItem() * - .toCreatePricingPlan() * - .toCreatePricingRule() * - .toListTagsForResource() * - .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 access by the tags associated with the resource * * https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-resourcetag * * Applies to resource types: * - billinggroup * - pricingplan * - pricingrule * - customlineitem * * @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 the tag keys that are passed in the request * * https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-tagkeys * * Applies to actions: * - .toCreateBillingGroup() * - .toCreateCustomLineItem() * - .toCreatePricingPlan() * - .toCreatePricingRule() * - .toListTagsForResource() * - .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; /** * Statement provider for service [billingconductor](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsbillingconductor.html). * */ constructor(props?: iam.PolicyStatementProps); }