UNPKG

cdk-iam-floyd

Version:

AWS IAM policy statement generator with fluent interface for AWS CDK

383 lines (382 loc) 13.5 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 [vendor-insights](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsmarketplacevendorinsights.html). * * @param sid [SID](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_sid.html) of the statement */ export declare class VendorInsights extends PolicyStatement { servicePrefix: string; /** * Grants permission to activate the security profile * * Access Level: Write * * Possible conditions: * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/marketplace/latest/userguide/vendor-insights-seller-controlling-access.html */ toActivateSecurityProfile(): this; /** * Grants permission to associate security profile with a data source * * Access Level: Write * * Possible conditions: * - .ifAwsResourceTag() * * Dependent actions: * - vendor-insights:GetDataSource * * https://docs.aws.amazon.com/marketplace/latest/userguide/vendor-insights-seller-controlling-access.html */ toAssociateDataSource(): this; /** * Grants permission to create a new data source * * Access Level: Write * * Possible conditions: * - .ifAwsResourceTag() * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * Dependent actions: * - vendor-insights:TagResource * * https://docs.aws.amazon.com/marketplace/latest/userguide/vendor-insights-seller-controlling-access.html */ toCreateDataSource(): this; /** * Grants permission to create a new security profile * * Access Level: Write * * Possible conditions: * - .ifAwsResourceTag() * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * Dependent actions: * - vendor-insights:TagResource * * https://docs.aws.amazon.com/marketplace/latest/userguide/vendor-insights-seller-controlling-access.html */ toCreateSecurityProfile(): this; /** * Grants permission to deactivate the security profile * * Access Level: Write * * Possible conditions: * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/marketplace/latest/userguide/vendor-insights-seller-controlling-access.html */ toDeactivateSecurityProfile(): this; /** * Grants permission to delete a data source * * Access Level: Write * * Possible conditions: * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/marketplace/latest/userguide/vendor-insights-seller-controlling-access.html */ toDeleteDataSource(): this; /** * Grants permission to disassociate security profile from a data source * * Access Level: Write * * Possible conditions: * - .ifAwsResourceTag() * * Dependent actions: * - vendor-insights:GetDataSource * * https://docs.aws.amazon.com/marketplace/latest/userguide/vendor-insights-seller-controlling-access.html */ toDisassociateDataSource(): this; /** * Grants permission to retrieve the details of an existing data source * * Access Level: Read * * Possible conditions: * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/marketplace/latest/userguide/vendor-insights-seller-controlling-access.html */ toGetDataSource(): this; /** * Grants permission to return the details of a security profile snapshot that requester is entitled to read * * Access Level: Read * * https://docs.aws.amazon.com/marketplace/latest/buyerguide/buyer-vendor-insights-controlling-access.html */ toGetEntitledSecurityProfileSnapshot(): this; /** * Grants permission to get the access terms for a vendor insights profile * * Access Level: Read * * https://docs.aws.amazon.com/marketplace/latest/buyerguide/buyer-vendor-insights-controlling-access.html */ toGetProfileAccessTerms(): this; /** * Grants permission to return the details of an existing security profile * * Access Level: Read * * Possible conditions: * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/marketplace/latest/userguide/vendor-insights-seller-controlling-access.html */ toGetSecurityProfile(): this; /** * Grants permission to return the details of a security profile snapshot * * Access Level: Read * * Possible conditions: * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/marketplace/latest/userguide/vendor-insights-seller-controlling-access.html */ toGetSecurityProfileSnapshot(): this; /** * Grants permission to list existing data sources * * Access Level: List * * https://docs.aws.amazon.com/marketplace/latest/userguide/vendor-insights-seller-controlling-access.html */ toListDataSources(): this; /** * Grants permission to return the snapshot summary list for an existing security profile that requester is entitled to list * * Access Level: List * * https://docs.aws.amazon.com/marketplace/latest/buyerguide/buyer-vendor-insights-controlling-access.html */ toListEntitledSecurityProfileSnapshots(): this; /** * Grants permission to list entitled security profiles * * Access Level: List * * https://docs.aws.amazon.com/marketplace/latest/buyerguide/buyer-vendor-insights-controlling-access.html */ toListEntitledSecurityProfiles(): this; /** * Grants permission to return the snapshot summary list for an existing security profile * * Access Level: List * * Possible conditions: * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/marketplace/latest/userguide/vendor-insights-seller-controlling-access.html */ toListSecurityProfileSnapshots(): this; /** * Grants permission to list existing security profiles * * Access Level: List * * https://docs.aws.amazon.com/marketplace/latest/userguide/vendor-insights-seller-controlling-access.html */ toListSecurityProfiles(): this; /** * Grants permission to list tags for vendor insights resource * * Access Level: Read * * Possible conditions: * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/marketplace/latest/userguide/vendor-insights-seller-controlling-access.html */ toListTagsForResource(): this; /** * Grants permission to tag vendor insights resource * * Access Level: Tagging * * Possible conditions: * - .ifAwsResourceTag() * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/marketplace/latest/userguide/vendor-insights-seller-controlling-access.html */ toTagResource(): this; /** * Grants permission to untag vendor insights resource * * Access Level: Tagging * * Possible conditions: * - .ifAwsResourceTag() * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/marketplace/latest/userguide/vendor-insights-seller-controlling-access.html */ toUntagResource(): this; /** * Grants permission to update an existing data source * * Access Level: Write * * Possible conditions: * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/marketplace/latest/userguide/vendor-insights-seller-controlling-access.html */ toUpdateDataSource(): this; /** * Grants permission to update the security profile * * Access Level: Write * * Possible conditions: * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/marketplace/latest/userguide/vendor-insights-seller-controlling-access.html */ toUpdateSecurityProfile(): this; /** * Grants permission to update the security profile snapshot creation configuration * * Access Level: Write * * Possible conditions: * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/marketplace/latest/userguide/vendor-insights-seller-controlling-access.html */ toUpdateSecurityProfileSnapshotCreationConfiguration(): this; /** * Grants permission to update the security profile snapshot release configuration * * Access Level: Write * * Possible conditions: * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/marketplace/latest/userguide/vendor-insights-seller-controlling-access.html */ toUpdateSecurityProfileSnapshotReleaseConfiguration(): this; protected accessLevelList: AccessLevelList; /** * Adds a resource of type DataSource to the statement * * https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsmarketplacevendorinsights.html#awsmarketplacevendorinsights-resources-for-iam-policies * * @param resourceId - Identifier for the resourceId. * @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: * - .ifAwsRequestTag() * - .ifAwsResourceTag() * - .ifAwsTagKeys() */ onDataSource(resourceId: string, partition?: string): this; /** * Adds a resource of type SecurityProfile to the statement * * https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsmarketplacevendorinsights.html#awsmarketplacevendorinsights-resources-for-iam-policies * * @param resourceId - Identifier for the resourceId. * @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: * - .ifAwsRequestTag() * - .ifAwsResourceTag() * - .ifAwsTagKeys() */ onSecurityProfile(resourceId: string, partition?: string): this; /** * Filters access by 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: * - .toCreateDataSource() * - .toCreateSecurityProfile() * - .toTagResource() * * Applies to resource types: * - DataSource * - SecurityProfile * * @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 tags associated with the resource * * https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-resourcetag * * Applies to actions: * - .toActivateSecurityProfile() * - .toAssociateDataSource() * - .toCreateDataSource() * - .toCreateSecurityProfile() * - .toDeactivateSecurityProfile() * - .toDeleteDataSource() * - .toDisassociateDataSource() * - .toGetDataSource() * - .toGetSecurityProfile() * - .toGetSecurityProfileSnapshot() * - .toListSecurityProfileSnapshots() * - .toListTagsForResource() * - .toTagResource() * - .toUntagResource() * - .toUpdateDataSource() * - .toUpdateSecurityProfile() * - .toUpdateSecurityProfileSnapshotCreationConfiguration() * - .toUpdateSecurityProfileSnapshotReleaseConfiguration() * * Applies to resource types: * - DataSource * - SecurityProfile * * @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 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: * - .toCreateDataSource() * - .toCreateSecurityProfile() * - .toTagResource() * - .toUntagResource() * * Applies to resource types: * - DataSource * - SecurityProfile * * @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 [vendor-insights](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsmarketplacevendorinsights.html). * */ constructor(props?: iam.PolicyStatementProps); }