UNPKG

cdk-iam-floyd

Version:

AWS IAM policy statement generator with fluent interface for AWS CDK

998 lines 84 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Aidevops = void 0; const shared_1 = require("../../shared"); /** * Statement provider for service [aidevops](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsdevopsagentservice.html). * * @param sid [SID](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_sid.html) of the statement */ class Aidevops extends shared_1.PolicyStatement { /** * Grants permission to authorize vended logs * * Access Level: Permissions management * * https://docs.aws.amazon.com/devopsagent/latest/userguide/configuring-capabilities-for-aws-devops-agent-vended-logs-and-metrics.html */ toAllowVendedLogDeliveryForResource() { return this.to('AllowVendedLogDeliveryForResource'); } /** * Grants permission to associate service * * Access Level: Write * * https://docs.aws.amazon.com/devopsagent/latest/APIReference/API_AssociateService.html */ toAssociateService() { return this.to('AssociateService'); } /** * Grants permission to create agentspace * * Access Level: Write * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsResourceTag() * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/devopsagent/latest/APIReference/API_CreateAgentSpace.html */ toCreateAgentSpace() { return this.to('CreateAgentSpace'); } /** * Grants permission to create an asset * * Access Level: Write * * https://docs.aws.amazon.com/devopsagent/latest/APIReference/API_CreateAsset.html */ toCreateAsset() { return this.to('CreateAsset'); } /** * Grants permission to create an asset file * * Access Level: Write * * https://docs.aws.amazon.com/devopsagent/latest/APIReference/API_CreateAssetFile.html */ toCreateAssetFile() { return this.to('CreateAssetFile'); } /** * Grants permission to create a new backlog task * * Access Level: Write * * https://docs.aws.amazon.com/devopsagent/latest/APIReference/API_CreateBacklogTask.html */ toCreateBacklogTask() { return this.to('CreateBacklogTask'); } /** * Grants permission to create a chat * * Access Level: Write * * https://docs.aws.amazon.com/devopsagent/latest/APIReference/API_CreateChat.html */ toCreateChat() { return this.to('CreateChat'); } /** * Grants permission to create a new knowledge item * * Access Level: Write * * https://docs.aws.amazon.com/devopsagent/latest/APIReference/API_CreateKnowledgeItem.html */ toCreateKnowledgeItem() { return this.to('CreateKnowledgeItem'); } /** * Grants permission to generate secure one-time session for initiating off-console Application login * * Access Level: Write * * https://docs.aws.amazon.com/devopsagent/latest/APIReference/what-is.html */ toCreateOneTimeLoginSession() { return this.to('CreateOneTimeLoginSession'); } /** * Grants permission to create a private connection * * Access Level: Write * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsResourceTag() * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/devopsagent/latest/APIReference/API_CreatePrivateConnection.html */ toCreatePrivateConnection() { return this.to('CreatePrivateConnection'); } /** * Grants permission to delete agentspace * * Access Level: Write * * Possible conditions: * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/devopsagent/latest/APIReference/API_DeleteAgentSpace.html */ toDeleteAgentSpace() { return this.to('DeleteAgentSpace'); } /** * Grants permission to delete an asset * * Access Level: Write * * https://docs.aws.amazon.com/devopsagent/latest/APIReference/API_DeleteAsset.html */ toDeleteAsset() { return this.to('DeleteAsset'); } /** * Grants permission to delete an asset file * * Access Level: Write * * https://docs.aws.amazon.com/devopsagent/latest/APIReference/API_DeleteAssetFile.html */ toDeleteAssetFile() { return this.to('DeleteAssetFile'); } /** * Grants permission to delete a knowledge item * * Access Level: Write * * https://docs.aws.amazon.com/devopsagent/latest/APIReference/what-is.html */ toDeleteKnowledgeItem() { return this.to('DeleteKnowledgeItem'); } /** * Grants permission to delete a private connection * * Access Level: Write * * Possible conditions: * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/devopsagent/latest/APIReference/API_DeletePrivateConnection.html */ toDeletePrivateConnection() { return this.to('DeletePrivateConnection'); } /** * Grants permission to deregister a service * * Access Level: Write * * Possible conditions: * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/devopsagent/latest/APIReference/API_DeregisterService.html */ toDeregisterService() { return this.to('DeregisterService'); } /** * Grants permission to describe a private connection * * Access Level: Read * * Possible conditions: * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/devopsagent/latest/APIReference/API_DescribePrivateConnection.html */ toDescribePrivateConnection() { return this.to('DescribePrivateConnection'); } /** * Grants permission to describe support services * * Access Level: Read * * https://docs.aws.amazon.com/devopsagent/latest/APIReference/what-is.html */ toDescribeServices() { return this.to('DescribeServices'); } /** * Grants permission to describe customer support level * * Access Level: Write * * https://docs.aws.amazon.com/devopsagent/latest/APIReference/what-is.html */ toDescribeSupportLevel() { return this.to('DescribeSupportLevel'); } /** * Grants permission to disable the Operator App access to the given AgentSpace * * Access Level: Write * * https://docs.aws.amazon.com/devopsagent/latest/APIReference/API_DisableOperatorApp.html */ toDisableOperatorApp() { return this.to('DisableOperatorApp'); } /** * Grants permission to disassociate service * * Access Level: Write * * https://docs.aws.amazon.com/devopsagent/latest/APIReference/API_DisassociateService.html */ toDisassociateService() { return this.to('DisassociateService'); } /** * Grants permission to discover topology information * * Access Level: Write * * https://docs.aws.amazon.com/devopsagent/latest/APIReference/what-is.html */ toDiscoverTopology() { return this.to('DiscoverTopology'); } /** * Grants permission to enable the Operator App to access the given AgentSpace * * Access Level: Write * * https://docs.aws.amazon.com/devopsagent/latest/APIReference/API_EnableOperatorApp.html */ toEnableOperatorApp() { return this.to('EnableOperatorApp'); } /** * Grants permission to end a chat for a case * * Access Level: Write * * https://docs.aws.amazon.com/devopsagent/latest/APIReference/what-is.html */ toEndChatForCase() { return this.to('EndChatForCase'); } /** * Grants permission to retrieve account usage information * * Access Level: Read * * https://docs.aws.amazon.com/devopsagent/latest/APIReference/API_GetAccountUsage.html */ toGetAccountUsage() { return this.to('GetAccountUsage'); } /** * Grants permission to get agentspace * * Access Level: Read * * Possible conditions: * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/devopsagent/latest/APIReference/API_GetAgentSpace.html */ toGetAgentSpace() { return this.to('GetAgentSpace'); } /** * Grants permission to get an asset * * Access Level: Read * * https://docs.aws.amazon.com/devopsagent/latest/APIReference/API_GetAsset.html */ toGetAsset() { return this.to('GetAsset'); } /** * Grants permission to get asset content * * Access Level: Read * * https://docs.aws.amazon.com/devopsagent/latest/APIReference/API_GetAssetContent.html */ toGetAssetContent() { return this.to('GetAssetContent'); } /** * Grants permission to get an asset file * * Access Level: Read * * https://docs.aws.amazon.com/devopsagent/latest/APIReference/API_GetAssetFile.html */ toGetAssetFile() { return this.to('GetAssetFile'); } /** * Grants permission to get association * * Access Level: Read * * https://docs.aws.amazon.com/devopsagent/latest/APIReference/API_GetAssociation.html */ toGetAssociation() { return this.to('GetAssociation'); } /** * Grants permission to get a backlog task * * Access Level: Read * * https://docs.aws.amazon.com/devopsagent/latest/APIReference/API_GetBacklogTask.html */ toGetBacklogTask() { return this.to('GetBacklogTask'); } /** * Grants permission to get a knowledge item * * Access Level: Read * * https://docs.aws.amazon.com/devopsagent/latest/APIReference/what-is.html */ toGetKnowledgeItem() { return this.to('GetKnowledgeItem'); } /** * Grants permission to get operator auth config for any enabled auth flow * * Access Level: Read * * https://docs.aws.amazon.com/devopsagent/latest/APIReference/API_GetOperatorApp.html */ toGetOperatorApp() { return this.to('GetOperatorApp'); } /** * Grants permission to get a recommendation * * Access Level: Read * * https://docs.aws.amazon.com/devopsagent/latest/APIReference/API_GetRecommendation.html */ toGetRecommendation() { return this.to('GetRecommendation'); } /** * Grants permission to get services * * Access Level: Read * * Possible conditions: * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/devopsagent/latest/APIReference/API_GetService.html */ toGetService() { return this.to('GetService'); } /** * Grants permission to initiate a chat for a case * * Access Level: Write * * https://docs.aws.amazon.com/devopsagent/latest/APIReference/what-is.html */ toInitiateChatForCase() { return this.to('InitiateChatForCase'); } /** * Grants permission to list agentspace * * Access Level: List * * https://docs.aws.amazon.com/devopsagent/latest/APIReference/API_ListAgentSpaces.html */ toListAgentSpaces() { return this.to('ListAgentSpaces'); } /** * Grants permission to list asset files * * Access Level: List * * https://docs.aws.amazon.com/devopsagent/latest/APIReference/API_ListAssetFiles.html */ toListAssetFiles() { return this.to('ListAssetFiles'); } /** * Grants permission to list asset types * * Access Level: List * * https://docs.aws.amazon.com/devopsagent/latest/APIReference/API_ListAssetTypes.html */ toListAssetTypes() { return this.to('ListAssetTypes'); } /** * Grants permission to list asset versions * * Access Level: List * * https://docs.aws.amazon.com/devopsagent/latest/APIReference/API_ListAssetVersions.html */ toListAssetVersions() { return this.to('ListAssetVersions'); } /** * Grants permission to list assets * * Access Level: List * * https://docs.aws.amazon.com/devopsagent/latest/APIReference/API_ListAssets.html */ toListAssets() { return this.to('ListAssets'); } /** * Grants permission to list associations * * Access Level: List * * https://docs.aws.amazon.com/devopsagent/latest/APIReference/API_ListAssociations.html */ toListAssociations() { return this.to('ListAssociations'); } /** * Grants permission to list backlog tasks * * Access Level: List * * https://docs.aws.amazon.com/devopsagent/latest/APIReference/API_ListBacklogTasks.html */ toListBacklogTasks() { return this.to('ListBacklogTasks'); } /** * Grants permission to list chats * * Access Level: List * * https://docs.aws.amazon.com/devopsagent/latest/APIReference/API_ListChats.html */ toListChats() { return this.to('ListChats'); } /** * Grants permission to list executions * * Access Level: List * * https://docs.aws.amazon.com/devopsagent/latest/APIReference/API_ListExecutions.html */ toListExecutions() { return this.to('ListExecutions'); } /** * Grants permission to list goals * * Access Level: List * * https://docs.aws.amazon.com/devopsagent/latest/APIReference/API_ListGoals.html */ toListGoals() { return this.to('ListGoals'); } /** * Grants permission to list journal records * * Access Level: List * * https://docs.aws.amazon.com/devopsagent/latest/APIReference/API_ListJournalRecords.html */ toListJournalRecords() { return this.to('ListJournalRecords'); } /** * Grants permission to list knowledge item versions * * Access Level: List * * https://docs.aws.amazon.com/devopsagent/latest/APIReference/what-is.html */ toListKnowledgeItemVersions() { return this.to('ListKnowledgeItemVersions'); } /** * Grants permission to list knowledge items * * Access Level: List * * https://docs.aws.amazon.com/devopsagent/latest/APIReference/what-is.html */ toListKnowledgeItems() { return this.to('ListKnowledgeItems'); } /** * Grants permission to list pending messages * * Access Level: List * * https://docs.aws.amazon.com/devopsagent/latest/APIReference/API_ListPendingMessages.html */ toListPendingMessages() { return this.to('ListPendingMessages'); } /** * Grants permission to list private connections * * Access Level: List * * https://docs.aws.amazon.com/devopsagent/latest/APIReference/API_ListPrivateConnections.html */ toListPrivateConnections() { return this.to('ListPrivateConnections'); } /** * Grants permission to list recommendations * * Access Level: List * * https://docs.aws.amazon.com/devopsagent/latest/APIReference/API_ListRecommendations.html */ toListRecommendations() { return this.to('ListRecommendations'); } /** * Grants permission to list services * * Access Level: List * * https://docs.aws.amazon.com/devopsagent/latest/APIReference/API_ListServices.html */ toListServices() { return this.to('ListServices'); } /** * Grants permission to list tags for a resource * * Access Level: Read * * Possible conditions: * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/devopsagent/latest/APIReference/API_ListTagsForResource.html */ toListTagsForResource() { return this.to('ListTagsForResource'); } /** * Grants permission to list webhooks for association * * Access Level: List * * https://docs.aws.amazon.com/devopsagent/latest/APIReference/API_ListWebhooks.html */ toListWebhooks() { return this.to('ListWebhooks'); } /** * Grants permission to register specific service * * Access Level: Write * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsResourceTag() * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/devopsagent/latest/APIReference/API_RegisterService.html */ toRegisterService() { return this.to('RegisterService'); } /** * Grants permission to look up a registered service accessible resources * * Access Level: Read * * https://docs.aws.amazon.com/devopsagent/latest/APIReference/what-is.html */ toSearchServiceAccessibleResource() { return this.to('SearchServiceAccessibleResource'); } /** * Grants permission to send chat messages * * Access Level: Write * * https://docs.aws.amazon.com/devopsagent/latest/APIReference/API_SendMessage.html */ toSendMessage() { return this.to('SendMessage'); } /** * Grants permission to tag a resource * * Access Level: Tagging * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsResourceTag() * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/devopsagent/latest/APIReference/API_TagResource.html */ toTagResource() { return this.to('TagResource'); } /** * Grants permission to untag a resource * * Access Level: Tagging * * Possible conditions: * - .ifAwsResourceTag() * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/devopsagent/latest/APIReference/API_UntagResource.html */ toUntagResource() { return this.to('UntagResource'); } /** * Grants permission to update agentspace * * Access Level: Write * * Possible conditions: * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/devopsagent/latest/APIReference/API_UpdateAgentSpace.html */ toUpdateAgentSpace() { return this.to('UpdateAgentSpace'); } /** * Grants permission to update an asset * * Access Level: Write * * https://docs.aws.amazon.com/devopsagent/latest/APIReference/API_UpdateAsset.html */ toUpdateAsset() { return this.to('UpdateAsset'); } /** * Grants permission to update an asset file * * Access Level: Write * * https://docs.aws.amazon.com/devopsagent/latest/APIReference/API_UpdateAssetFile.html */ toUpdateAssetFile() { return this.to('UpdateAssetFile'); } /** * Grants permission to update association * * Access Level: Write * * https://docs.aws.amazon.com/devopsagent/latest/APIReference/API_UpdateAssociation.html */ toUpdateAssociation() { return this.to('UpdateAssociation'); } /** * Grants permission to update a task * * Access Level: Write * * https://docs.aws.amazon.com/devopsagent/latest/APIReference/API_UpdateBacklogTask.html */ toUpdateBacklogTask() { return this.to('UpdateBacklogTask'); } /** * Grants permission to update a goal * * Access Level: Write * * https://docs.aws.amazon.com/devopsagent/latest/APIReference/API_UpdateGoal.html */ toUpdateGoal() { return this.to('UpdateGoal'); } /** * Grants permission to update a knowledge item * * Access Level: Write * * https://docs.aws.amazon.com/devopsagent/latest/APIReference/what-is.html */ toUpdateKnowledgeItem() { return this.to('UpdateKnowledgeItem'); } /** * Grants permission to update the external Identity Provider configuration for the Operator App * * Access Level: Write * * https://docs.aws.amazon.com/devopsagent/latest/APIReference/API_UpdateOperatorAppIdpConfig.html */ toUpdateOperatorAppIdpConfig() { return this.to('UpdateOperatorAppIdpConfig'); } /** * Grants permission to update a private connection certificate * * Access Level: Write * * Possible conditions: * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/devopsagent/latest/APIReference/API_UpdatePrivateConnectionCertificate.html */ toUpdatePrivateConnectionCertificate() { return this.to('UpdatePrivateConnectionCertificate'); } /** * Grants permission to update a recommendation * * Access Level: Write * * https://docs.aws.amazon.com/devopsagent/latest/APIReference/API_UpdateRecommendation.html */ toUpdateRecommendation() { return this.to('UpdateRecommendation'); } /** * Grants permission to validate aws association * * Access Level: Write * * https://docs.aws.amazon.com/devopsagent/latest/APIReference/API_ValidateAwsAssociations.html */ toValidateAwsAssociations() { return this.to('ValidateAwsAssociations'); } /** * Adds a resource of type agentspace to the statement * * https://docs.aws.amazon.com/devopsagent/latest/userguide/ * * @param agentSpaceId - Identifier for the agentSpaceId. * @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() */ onAgentspace(agentSpaceId, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:aidevops:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:agentspace/${agentSpaceId}`); } /** * Adds a resource of type associations to the statement * * https://docs.aws.amazon.com/devopsagent/latest/userguide/ * * @param agentSpaceId - Identifier for the agentSpaceId. * @param associationId - Identifier for the associationId. * @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. */ onAssociations(agentSpaceId, associationId, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:aidevops:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:agentspace/${agentSpaceId}/association/${associationId}`); } /** * Adds a resource of type private-connection to the statement * * https://docs.aws.amazon.com/devopsagent/latest/userguide/ * * @param name - Identifier for the name. * @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() */ onPrivateConnection(name, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:aidevops:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:private-connection/${name}`); } /** * Adds a resource of type service to the statement * * https://docs.aws.amazon.com/devopsagent/latest/userguide/ * * @param serviceId - Identifier for the serviceId. * @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() */ onService(serviceId, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:aidevops:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:service/${serviceId}`); } /** * 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: * - .toCreateAgentSpace() * - .toCreatePrivateConnection() * - .toListTagsForResource() * - .toRegisterService() * - .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, value, operator) { return this.if(`aws:RequestTag/${tagKey}`, value, operator ?? 'StringLike'); } /** * 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: * - .toCreateAgentSpace() * - .toCreatePrivateConnection() * - .toDeleteAgentSpace() * - .toDeletePrivateConnection() * - .toDeregisterService() * - .toDescribePrivateConnection() * - .toGetAgentSpace() * - .toGetService() * - .toListTagsForResource() * - .toRegisterService() * - .toTagResource() * - .toUntagResource() * - .toUpdateAgentSpace() * - .toUpdatePrivateConnectionCertificate() * * Applies to resource types: * - agentspace * - private-connection * - service * * @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, value, operator) { return this.if(`aws:ResourceTag/${tagKey}`, value, operator ?? 'StringLike'); } /** * 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: * - .toCreateAgentSpace() * - .toCreatePrivateConnection() * - .toListTagsForResource() * - .toRegisterService() * - .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, operator) { return this.if(`aws:TagKeys`, value, operator ?? 'StringLike'); } /** * Statement provider for service [aidevops](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsdevopsagentservice.html). * */ constructor(props) { super(props); this.servicePrefix = 'aidevops'; this.accessLevelList = { 'Permissions management': [ 'AllowVendedLogDeliveryForResource' ], Write: [ 'AssociateService', 'CreateAgentSpace', 'CreateAsset', 'CreateAssetFile', 'CreateBacklogTask', 'CreateChat', 'CreateKnowledgeItem', 'CreateOneTimeLoginSession', 'CreatePrivateConnection', 'DeleteAgentSpace', 'DeleteAsset', 'DeleteAssetFile', 'DeleteKnowledgeItem', 'DeletePrivateConnection', 'DeregisterService', 'DescribeSupportLevel', 'DisableOperatorApp', 'DisassociateService', 'DiscoverTopology', 'EnableOperatorApp', 'EndChatForCase', 'InitiateChatForCase', 'RegisterService', 'SendMessage', 'UpdateAgentSpace', 'UpdateAsset', 'UpdateAssetFile', 'UpdateAssociation', 'UpdateBacklogTask', 'UpdateGoal', 'UpdateKnowledgeItem', 'UpdateOperatorAppIdpConfig', 'UpdatePrivateConnectionCertificate', 'UpdateRecommendation', 'ValidateAwsAssociations' ], Read: [ 'DescribePrivateConnection', 'DescribeServices', 'GetAccountUsage', 'GetAgentSpace', 'GetAsset', 'GetAssetContent', 'GetAssetFile', 'GetAssociation', 'GetBacklogTask', 'GetKnowledgeItem', 'GetOperatorApp', 'GetRecommendation', 'GetService', 'ListTagsForResource', 'SearchServiceAccessibleResource' ], List: [ 'ListAgentSpaces', 'ListAssetFiles', 'ListAssetTypes', 'ListAssetVersions', 'ListAssets', 'ListAssociations', 'ListBacklogTasks', 'ListChats', 'ListExecutions', 'ListGoals', 'ListJournalRecords', 'ListKnowledgeItemVersions', 'ListKnowledgeItems', 'ListPendingMessages', 'ListPrivateConnections', 'ListRecommendations', 'ListServices', 'ListWebhooks' ], Tagging: [ 'TagResource', 'UntagResource' ] }; } } exports.Aidevops = Aidevops; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2b3BzYWdlbnRzZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiZGV2b3BzYWdlbnRzZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHlDQUF5RDtBQUd6RDs7OztHQUlHO0FBQ0gsTUFBYSxRQUFTLFNBQVEsd0JBQWU7SUFHM0M7Ozs7OztPQU1HO0lBQ0ksbUNBQW1DO1FBQ3hDLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxrQkFBa0I7UUFDdkIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVEOzs7Ozs7Ozs7OztPQVdHO0lBQ0ksa0JBQWtCO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxhQUFhO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksaUJBQWlCO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxtQkFBbUI7UUFDeEIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLFlBQVk7UUFDakIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxxQkFBcUI7UUFDMUIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLDJCQUEyQjtRQUNoQyxPQUFPLElB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Z0JBQ3BCLHFCQUFxQjtnQkFDckIsa0JBQWtCO2dCQUNsQixtQkFBbUI7Z0JBQ25CLGdCQUFnQjtnQkFDaEIscUJBQXFCO2dCQUNyQixpQkFBaUI7Z0JBQ2pCLGFBQWE7Z0JBQ2Isa0JBQWtCO2dCQUNsQixhQUFhO2dCQUNiLGlCQUFpQjtnQkFDakIsbUJBQW1CO2dCQUNuQixtQkFBbUI7Z0JBQ25CLFlBQVk7Z0JBQ1oscUJBQXFCO2dCQUNyQiw0QkFBNEI7Z0JBQzVCLG9DQUFvQztnQkFDcEMsc0JBQXNCO2dCQUN0Qix5QkFBeUI7YUFDMUI7WUFDRCxJQUFJLEVBQUU7Z0JBQ0osMkJBQTJCO2dCQUMzQixrQkFBa0I7Z0JBQ2xCLGlCQUFpQjtnQkFDakIsZUFBZTtnQkFDZixVQUFVO2dCQUNWLGlCQUFpQjtnQkFDakIsY0FBYztnQkFDZCxnQkFBZ0I7Z0JBQ2hCLGdCQUFnQjtnQkFDaEIsa0JBQWtCO2dCQUNsQixnQkFBZ0I7Z0JBQ2hCLG1CQUFtQjtnQkFDbkIsWUFBWTtnQkFDWixxQkFBcUI7Z0JBQ3JCLGlDQUFpQzthQUNsQztZQUNELElBQUksRUFBRTtnQkFDSixpQkFBaUI7Z0JBQ2pCLGdCQUFnQjtnQkFDaEIsZ0JBQWdCO2dCQUNoQixtQkFBbUI7Z0JBQ25CLFlBQVk7Z0JBQ1osa0JBQWtCO2dCQUNsQixrQkFBa0I7Z0JBQ2xCLFdBQVc7Z0JBQ1gsZ0JBQWdCO2dCQUNoQixXQUFXO2dCQUNYLG9CQUFvQjtnQkFDcEIsMkJBQTJCO2dCQUMzQixvQkFBb0I7Z0JBQ3BCLHFCQUFxQjtnQkFDckIsd0JBQXdCO2dCQUN4QixxQkFBcUI7Z0JBQ3JCLGNBQWM7Z0JBQ2QsY0FBYzthQUNmO1lBQ0QsT0FBTyxFQUFFO2dCQUNQLGFBQWE7Z0JBQ2IsZUFBZTthQUNoQjtTQUNGLENBQUM7SUFvSkYsQ0FBQztDQUNGO0FBMWlDRCw0QkEwaUNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWNjZXNzTGV2ZWxMaXN0IH0gZnJvbSAnLi4vLi4vc2hhcmVkL2FjY2Vzcy1sZXZlbCc7XG5pbXBvcnQgeyBQb2xpY3lTdGF0ZW1lbnQsIE9wZXJhdG9yIH0gZnJvbSAnLi4vLi4vc2hhcmVkJztcbmltcG9ydCB7IGF3c19pYW0gYXMgaWFtIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5cbi8qKlxuICogU3RhdGVtZW50IHByb3ZpZGVyIGZvciBzZXJ2aWNlIFthaWRldm9wc10oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NlcnZpY2UtYXV0aG9yaXphdGlvbi9sYXRlc3QvcmVmZXJlbmNlL2xpc3RfYXdzZGV2b3BzYWdlbnRzZXJ2aWNlLmh0bWwpLlxuICpcbiAqIEBwYXJhbSBzaWQgW1NJRF0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0lBTS9sYXRlc3QvVXNlckd1aWRlL3JlZmVyZW5jZV9wb2xpY2llc19lbGVtZW50c19zaWQuaHRtbCkgb2YgdGhlIHN0YXRlbWVudFxuICovXG5leHBvcnQgY2xhc3MgQWlkZXZvcHMgZXh0ZW5kcyBQb2xpY3lTdGF0ZW1lbnQge1xuICBwdWJsaWMgc2VydmljZVByZWZpeCA9ICdhaWRldm9wcyc7XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGF1dGhvcml6ZSB2ZW5kZWQgbG9nc1xuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFBlcm1pc3Npb25zIG1hbmFnZW1lbnRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2Rldm9wc2FnZW50L2xhdGVzdC91c2VyZ3VpZGUvY29uZmlndXJpbmctY2FwYWJpbGl0aWVzLWZvci1hd3MtZGV2b3BzLWFnZW50LXZlbmRlZC1sb2dzLWFuZC1tZXRyaWNzLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0FsbG93VmVuZGVkTG9nRGVsaXZlcnlGb3JSZXNvdXJjZSgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnQWxsb3dWZW5kZWRMb2dEZWxpdmVyeUZvclJlc291cmNlJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gYXNzb2NpYXRlIHNlcnZpY2VcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vZGV2b3BzYWdlbnQvbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfQXNzb2NpYXRlU2VydmljZS5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9Bc3NvY2lhdGVTZXJ2aWNlKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdBc3NvY2lhdGVTZXJ2aWNlJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gY3JlYXRlIGFnZW50c3BhY2VcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBQb3NzaWJsZSBjb25kaXRpb25zOlxuICAgKiAtIC5pZkF3c1JlcXVlc3RUYWcoKVxuICAgKiAtIC5pZkF3c1Jlc291cmNlVGFnKClcbiAgICogLSAuaWZBd3NUYWdLZXlzKClcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2Rldm9wc2FnZW50L2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0NyZWF0ZUFnZW50U3BhY2UuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvQ3JlYXRlQWdlbnRTcGFjZSgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnQ3JlYXRlQWdlbnRTcGFjZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGNyZWF0ZSBhbiBhc3NldFxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9kZXZvcHNhZ2VudC9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9DcmVhdGVBc3NldC5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9DcmVhdGVBc3NldCgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnQ3JlYXRlQXNzZXQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBjcmVhdGUgYW4gYXNzZXQgZmlsZVxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9kZXZvcHNhZ2VudC9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9DcmVhdGVBc3NldEZpbGUuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvQ3JlYXRlQXNzZXRGaWxlKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdDcmVhdGVBc3NldEZpbGUnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBjcmVhdGUgYSBuZXcgYmFja2xvZyB0YXNrXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2Rldm9wc2FnZW50L2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0NyZWF0ZUJhY2tsb2dUYXNrLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0NyZWF0ZUJhY2tsb2dUYXNrKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdDcmVhdGVCYWNrbG9nVGFzaycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGNyZWF0ZSBhIGNoYXRcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vZGV2b3BzYWdlbnQvbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfQ3JlYXRlQ2hhdC5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9DcmVhdGVDaGF0KCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdDcmVhdGVDaGF0Jyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gY3JlYXRlIGEgbmV3IGtub3dsZWRnZSBpdGVtXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2Rldm9wc2FnZW50L2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0NyZWF0ZUtub3dsZWRnZUl0ZW0uaHRtbFxuICAgKi9cbiAgcHVibGljIHRvQ3JlYXRlS25vd2xlZGdlSXRlbSgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnQ3JlYXRlS25vd2xlZGdlSXRlbScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGdlbmVyYXRlIHNlY3VyZSBvbmUtdGltZSBzZXNzaW9uIGZvciBpbml0aWF0aW5nIG9mZi1jb25zb2xlIEFwcGxpY2F0aW9uIGxvZ2luXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2Rldm9wc2FnZW50L2xhdGVzdC9BUElSZWZlcmVuY2Uvd2hhdC1pcy5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9DcmVhdGVPbmVUaW1lTG9naW5TZXNzaW9uKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdDcmVhdGVPbmVUaW1lTG9naW5TZXNzaW9uJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gY3JlYXRlIGEgcHJpdmF0ZSBjb25uZWN0aW9uXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogUG9zc2libGUgY29uZGl0aW9uczpcbiAgICogLSAuaWZBd3NSZXF1ZXN0VGFnKClcbiAgICogLSAuaWZBd3NSZXNvdXJjZVRhZygpXG4gICAqIC0gLmlmQXdzVGFnS2V5cygpXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9kZXZvcHNhZ2VudC9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9DcmVhdGVQcml2YXRlQ29ubmVjdGlvbi5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9DcmVhdGVQcml2YXRlQ29ubmVjdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy50bygnQ3JlYXRlUHJpdmF0ZUNvbm5lY3Rpb24nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBkZWxldGUgYWdlbnRzcGFjZVxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIFBvc3NpYmxlIGNvbmRpdGlvbnM6XG4gICAqIC0gLmlmQXdzUmVzb3VyY2VUYWcoKVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vZGV2b3BzYWdlbnQvbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfRGVsZXRlQWdlbnRTcGFjZS5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9EZWxldGVBZ2VudFNwYWNlKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdEZWxldGVBZ2VudFNwYWNlJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gZGVsZXRlIGFuIGFzc2V0XG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2Rldm9wc2FnZW50L2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0RlbGV0ZUFzc2V0Lmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0RlbGV0ZUFzc2V0KCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdEZWxldGVBc3NldCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGRlbGV0ZSBhbiBhc3NldCBmaWxlXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2Rldm9wc2FnZW50L2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0RlbGV0ZUFzc2V0RmlsZS5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9EZWxldGVBc3NldEZpbGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0RlbGV0ZUFzc2V0RmlsZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGRlbGV0ZSBhIGtub3dsZWRnZSBpdGVtXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2Rldm9wc2FnZW50L2xhdGVzdC9BUElSZWZlcmVuY2Uvd2hhdC1pcy5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9EZWxldGVLbm93bGVkZ2VJdGVtKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdEZWxldGVLbm93bGVkZ2VJdGVtJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gZGVsZXRlIGEgcHJpdmF0ZSBjb25uZWN0aW9uXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogUG9zc2libGUgY29uZGl0aW9uczpcbiAgICogLSAuaWZBd3NSZXNvdXJjZVRhZygpXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9kZXZvcHNhZ2VudC9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9EZWxldGVQcml2YXRlQ29ubmVjdGlvbi5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9EZWxldGVQcml2YXR