UNPKG

iam-floyd

Version:

AWS IAM policy statement generator with fluent interface

268 lines (267 loc) 10.3 kB
import { AccessLevelList } from '../../shared/access-level'; import { PolicyStatement, Operator } from '../../shared'; /** * Statement provider for service [codeguru-profiler](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazoncodeguruprofiler.html). * * @param sid [SID](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_sid.html) of the statement */ export declare class CodeguruProfiler extends PolicyStatement { servicePrefix: string; /** * Statement provider for service [codeguru-profiler](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazoncodeguruprofiler.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 add up to 2 topic ARNs of existing AWS SNS topics to publish notifications * * Access Level: Write * * https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_AddNotificationChannels.html */ toAddNotificationChannels(): this; /** * Grants permission to get the frame metric data for a Profiling Group * * Access Level: List * * https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_BatchGetFrameMetricData.html */ toBatchGetFrameMetricData(): this; /** * Grants permission to register with the orchestration service and retrieve profiling configuration information, used by agents * * Access Level: Write * * https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ConfigureAgent.html */ toConfigureAgent(): this; /** * Grants permission to create a profiling group * * Access Level: Write * * Possible conditions: * - .ifAwsTagKeys() * - .ifAwsRequestTag() * * https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_CreateProfilingGroup.html */ toCreateProfilingGroup(): this; /** * Grants permission to delete a profiling group * * Access Level: Write * * https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_DeleteProfilingGroup.html */ toDeleteProfilingGroup(): this; /** * Grants permission to describe a profiling group * * Access Level: Read * * https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_DescribeProfilingGroup.html */ toDescribeProfilingGroup(): this; /** * Grants permission to get a summary of recent recommendations for each profiling group in the account * * Access Level: Read * * https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_GetFindingsReportAccountSummary.html */ toGetFindingsReportAccountSummary(): this; /** * Grants permission to get the notification configuration * * Access Level: Read * * https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_GetNotificationConfiguration.html */ toGetNotificationConfiguration(): this; /** * Grants permission to get the resource policy associated with the specified Profiling Group * * Access Level: Read * * https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_GetPolicy.html */ toGetPolicy(): this; /** * Grants permission to get aggregated profiles for a specific profiling group * * Access Level: Read * * https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_GetProfile.html */ toGetProfile(): this; /** * Grants permission to get recommendations * * Access Level: Read * * https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_GetRecommendations.html */ toGetRecommendations(): this; /** * Grants permission to list the available recommendations reports for a specific profiling group * * Access Level: List * * https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ListFindingsReports.html */ toListFindingsReports(): this; /** * Grants permission to list the start times of the available aggregated profiles for a specific profiling group * * Access Level: List * * https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ListProfileTimes.html */ toListProfileTimes(): this; /** * Grants permission to list profiling groups in the account * * Access Level: List * * https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ListProfilingGroups.html */ toListProfilingGroups(): this; /** * Grants permission to list tags for a Profiling Group * * Access Level: List * * https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ListTagsForResource.html */ toListTagsForResource(): this; /** * Grants permission to submit a profile collected by an agent belonging to a specific profiling group for aggregation * * Access Level: Write * * https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_PostAgentProfile.html */ toPostAgentProfile(): this; /** * Grants permission to update the list of principals allowed for an action group in the resource policy associated with the specified Profiling Group * * Access Level: Permissions management * * https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_PutPermission.html */ toPutPermission(): this; /** * Grants permission to delete an already configured SNStopic arn from the notification configuration * * Access Level: Write * * https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_RemoveNotificationChannel.html */ toRemoveNotificationChannel(): this; /** * Grants permission to remove the permission of specified Action Group from the resource policy associated with the specified Profiling Group * * Access Level: Permissions management * * https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_RemovePermission.html */ toRemovePermission(): this; /** * Grants permission to submit user feedback for useful or non useful anomaly * * Access Level: Write * * https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_SubmitFeedback.html */ toSubmitFeedback(): this; /** * Grants permission to add or overwrite tags to a Profiling Group * * Access Level: Tagging * * Possible conditions: * - .ifAwsTagKeys() * - .ifAwsRequestTag() * * https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_TagResource.html */ toTagResource(): this; /** * Grants permission to remove tags from a Profiling Group * * Access Level: Tagging * * Possible conditions: * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_UntagResource.html */ toUntagResource(): this; /** * Grants permission to update a specific profiling group * * Access Level: Write * * https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_UpdateProfilingGroup.html */ toUpdateProfilingGroup(): this; protected accessLevelList: AccessLevelList; /** * Adds a resource of type ProfilingGroup to the statement * * https://docs.aws.amazon.com/codeguru/latest/profiler-ug/working-with-profiling-groups.html * * @param profilingGroupName - Identifier for the profilingGroupName. * @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() */ onProfilingGroup(profilingGroupName: string, account?: string, region?: string, partition?: string): this; /** * Filters access by 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: * - .toCreateProfilingGroup() * - .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 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 resource types: * - ProfilingGroup * * @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 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: * - .toCreateProfilingGroup() * - .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; }