UNPKG

cdk-iam-floyd

Version:

AWS IAM policy statement generator with fluent interface for AWS CDK

464 lines (463 loc) 16.8 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 [xray](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsx-ray.html). * * @param sid [SID](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_sid.html) of the statement */ export declare class Xray extends PolicyStatement { servicePrefix: string; /** * Grants permission to retrieve metadata for a list of traces specified by ID * * Access Level: Read * * https://docs.aws.amazon.com/xray/latest/devguide/security_iam_id-based-policy-examples.html#security_iam_id-based-policy-examples-console */ toBatchGetTraceSummaryById(): this; /** * Grants permission to retrieve a list of traces specified by ID. Each trace is a collection of segment documents that originates from a single request. Use GetTraceSummaries to get a list of trace IDs * * Access Level: List * * https://docs.aws.amazon.com/xray/latest/api/API_BatchGetTraces.html */ toBatchGetTraces(): this; /** * Grants permission to cancel an ongoing trace retrieval job initiated by StartTraceRetrieval using the provided RetrievalToken. A successful cancellation will return an HTTP 200 response * * Access Level: Read */ toCancelTraceRetrieval(): this; /** * Grants permission to create a group resource with a name and a filter expression * * Access Level: Write * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/xray/latest/api/API_CreateGroup.html */ toCreateGroup(): this; /** * Grants permission to create a rule to control sampling behavior for instrumented applications * * Access Level: Write * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/xray/latest/api/API_CreateSamplingRule.html */ toCreateSamplingRule(): this; /** * Grants permission to delete a group resource * * Access Level: Write * * Possible conditions: * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/xray/latest/api/API_DeleteGroup.html */ toDeleteGroup(): this; /** * Grants permission to delete resource policies * * Access Level: Write * * https://docs.aws.amazon.com/xray/latest/api/API_DeleteResourcePolicy.html */ toDeleteResourcePolicy(): this; /** * Grants permission to delete a sampling rule * * Access Level: Write * * Possible conditions: * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/xray/latest/api/API_DeleteSamplingRule.html */ toDeleteSamplingRule(): this; /** * Grants permission to retrieve distinct service graphs for one or more specific trace IDs * * Access Level: Read * * https://docs.aws.amazon.com/xray/latest/devguide/security_iam_id-based-policy-examples.html#security_iam_id-based-policy-examples-console */ toGetDistinctTraceGraphs(): this; /** * Grants permission to retrieve the current encryption configuration for X-Ray data * * Access Level: Read * * https://docs.aws.amazon.com/xray/latest/api/API_GetEncryptionConfig.html */ toGetEncryptionConfig(): this; /** * Grants permission to retrieve group resource details * * Access Level: Read * * Possible conditions: * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/xray/latest/api/API_GetGroup.html */ toGetGroup(): this; /** * Grants permission to retrieve all active group details * * Access Level: Read * * https://docs.aws.amazon.com/xray/latest/api/API_GetGroups.html */ toGetGroups(): this; /** * Grants permission to retrieve all indexing rules. Indexing rules are used to determine the server-side sampling rate for spans ingested through the CloudWatchLogs destination and indexed by X-Ray * * Access Level: Read * * https://docs.aws.amazon.com/xray/latest/api/API_GetIndexingRules.html */ toGetIndexingRules(): this; /** * Grants permission to retrieve the details of a specific insight * * Access Level: Read * * https://docs.aws.amazon.com/xray/latest/api/API_GetInsight.html */ toGetInsight(): this; /** * Grants permission to retrieve the events of a specific insight * * Access Level: Read * * https://docs.aws.amazon.com/xray/latest/api/API_GetInsightEvents.html */ toGetInsightEvents(): this; /** * Grants permission to retrieve the part of the service graph which is impacted for a specific insight * * Access Level: Read * * https://docs.aws.amazon.com/xray/latest/api/API_GetInsightImpactGraph.html */ toGetInsightImpactGraph(): this; /** * Grants permission to retrieve the summary of all insights for a group and time range with optional filters * * Access Level: Read * * https://docs.aws.amazon.com/xray/latest/api/API_GetInsightSummaries.html */ toGetInsightSummaries(): this; /** * Grants permission to retrieve a service graph for traces based on the specified RetrievalToken from the Transaction Search CloudWatch log group * * Access Level: Read */ toGetRetrievedTracesGraph(): this; /** * Grants permission to retrieve all sampling rules * * Access Level: Read * * https://docs.aws.amazon.com/xray/latest/api/API_GetSamplingRules.html */ toGetSamplingRules(): this; /** * Grants permission to retrieve information about recent sampling results for all sampling rules * * Access Level: Read * * https://docs.aws.amazon.com/xray/latest/api/API_GetSamplingStatisticSummaries.html */ toGetSamplingStatisticSummaries(): this; /** * Grants permission to request a sampling quota for rules that the service is using to sample requests * * Access Level: Read * * https://docs.aws.amazon.com/xray/latest/api/API_GetSamplingTargets.html */ toGetSamplingTargets(): this; /** * Grants permission to retrieve a document that describes services that process incoming requests, and downstream services that they call as a result * * Access Level: Read * * https://docs.aws.amazon.com/xray/latest/api/API_GetServiceGraph.html */ toGetServiceGraph(): this; /** * Grants permission to retrieve an aggregation of service statistics defined by a specific time range bucketed into time intervals * * Access Level: Read * * https://docs.aws.amazon.com/xray/latest/api/API_GetTimeSeriesServiceStatistics.html */ toGetTimeSeriesServiceStatistics(): this; /** * Grants permission to retrieve a service graph for one or more specific trace IDs * * Access Level: Read * * https://docs.aws.amazon.com/xray/latest/api/API_GetTraceGraph.html */ toGetTraceGraph(): this; /** * Grants permission to retrieve the current destination of data sent to PutTraceSegments and OpenTelemetry API * * Access Level: Read * * https://docs.aws.amazon.com/xray/latest/api/API_GetTraceSegmentDestination.html */ toGetTraceSegmentDestination(): this; /** * Grants permission to retrieve IDs and metadata for traces available for a specified time frame using an optional filter. To get the full traces, pass the trace IDs to BatchGetTraces * * Access Level: Read * * https://docs.aws.amazon.com/xray/latest/api/API_GetTraceSummaries.html */ toGetTraceSummaries(): this; /** * Grants permission to share X-Ray resources with a monitoring account * * Access Level: Write * * https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Unified-Cross-Account-Setup.html#CloudWatch-Unified-Cross-Account-Setup-permissions */ toLink(): this; /** * Grants permission to list resource policies * * Access Level: List * * https://docs.aws.amazon.com/xray/latest/api/API_ListResourcePolicies.html */ toListResourcePolicies(): this; /** * Grants permission to retrieve a list of traces for a given RetrievalToken from the Transaction Search CloudWatch log group * * Access Level: List */ toListRetrievedTraces(): this; /** * Grants permission to list tags for an X-Ray resource * * Access Level: List * * https://docs.aws.amazon.com/xray/latest/api/API_ListTagsForResource.html */ toListTagsForResource(): this; /** * Grants permission to update the encryption configuration for X-Ray data * * Access Level: Permissions management * * https://docs.aws.amazon.com/xray/latest/api/API_PutEncryptionConfig.html */ toPutEncryptionConfig(): this; /** * Grants permission to create or update resource policies * * Access Level: Write * * https://docs.aws.amazon.com/xray/latest/api/API_PutResourcePolicy.html */ toPutResourcePolicy(): this; /** * Grants permission to upload OpenTelemetry spans to AWS X-Ray * * Access Level: Write * * https://docs.aws.amazon.com/xray/latest/api/API_PutSpans.html */ toPutSpans(): this; /** * Grants permission to upload spans to AWS X-Ray to be indexed * * Access Level: Write * * https://docs.aws.amazon.com/xray/latest/devguide/security_iam_id-based-policy-examples.html#security_iam_id-based-policy-examples-console */ toPutSpansForIndexing(): this; /** * Grants permission to send AWS X-Ray daemon telemetry to the service * * Access Level: Write * * https://docs.aws.amazon.com/xray/latest/api/API_PutTelemetryRecords.html */ toPutTelemetryRecords(): this; /** * Grants permission to upload segment documents to AWS X-Ray. The X-Ray SDK generates segment documents and sends them to the X-Ray daemon, which uploads them in batches * * Access Level: Write * * https://docs.aws.amazon.com/xray/latest/api/API_PutTraceSegments.html */ toPutTraceSegments(): this; /** * Grants permission to initiate a trace retrieval process using the specified time range and for the given trace IDs on the Transaction Search CloudWatch log group * * Access Level: Read */ toStartTraceRetrieval(): this; /** * Grants permission to add tags to an X-Ray resource * * Access Level: Tagging * * Possible conditions: * - .ifAwsTagKeys() * - .ifAwsRequestTag() * * https://docs.aws.amazon.com/xray/latest/api/API_TagResource.html */ toTagResource(): this; /** * Grants permission to remove tags from an X-Ray resource * * Access Level: Tagging * * Possible conditions: * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/xray/latest/api/API_UntagResource.html */ toUntagResource(): this; /** * Grants permission to update a group resource * * Access Level: Write * * Possible conditions: * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/xray/latest/api/API_UpdateGroup.html */ toUpdateGroup(): this; /** * Grants permission to modify an indexing rule's configuration * * Access Level: Write * * https://docs.aws.amazon.com/xray/latest/api/API_UpdateIndexingRule.html */ toUpdateIndexingRule(): this; /** * Grants permission to modify a sampling rule's configuration * * Access Level: Write * * Possible conditions: * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/xray/latest/api/API_UpdateSamplingRule.html */ toUpdateSamplingRule(): this; /** * Grants permission to modify the destination of data sent to PutTraceSegments and OpenTelemetry API * * Access Level: Write * * https://docs.aws.amazon.com/xray/latest/api/API_UpdateTraceSegmentDestination.html */ toUpdateTraceSegmentDestination(): this; protected accessLevelList: AccessLevelList; /** * Adds a resource of type group to the statement * * https://docs.aws.amazon.com/xray/latest/devguide/xray-concepts.html#xray-concepts-groups * * @param groupName - Identifier for the groupName. * @param id - Identifier for the id. * @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() */ onGroup(groupName: string, id: string, account?: string, region?: string, partition?: string): this; /** * Adds a resource of type sampling-rule to the statement * * https://docs.aws.amazon.com/xray/latest/devguide/xray-concepts.html#xray-concepts-sampling * * @param samplingRuleName - Identifier for the samplingRuleName. * @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() */ onSamplingRule(samplingRuleName: string, account?: string, region?: 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: * - .toCreateGroup() * - .toCreateSamplingRule() * - .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 actions: * - .toDeleteGroup() * - .toDeleteSamplingRule() * - .toGetGroup() * - .toUpdateGroup() * - .toUpdateSamplingRule() * * Applies to resource types: * - group * - sampling-rule * * @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: * - .toCreateGroup() * - .toCreateSamplingRule() * - .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 [xray](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsx-ray.html). * */ constructor(props?: iam.PolicyStatementProps); }