UNPKG

cdk-iam-floyd

Version:

AWS IAM policy statement generator with fluent interface for AWS CDK

1,422 lines 126 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Drs = void 0; const shared_1 = require("../../shared"); /** * Statement provider for service [drs](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awselasticdisasterrecovery.html). * * @param sid [SID](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_sid.html) of the statement */ class Drs extends shared_1.PolicyStatement { /** * Grants permission to get associate failback client to recovery instance * * Access Level: Write * * https://docs.aws.amazon.com/drs/latest/userguide/drs-apis.html */ toAssociateFailbackClientToRecoveryInstanceForDrs() { return this.to('AssociateFailbackClientToRecoveryInstanceForDrs'); } /** * Grants permission to associate CloudFormation stack with source network * * Access Level: Write * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * Dependent actions: * - cloudformation:DescribeStackResource * - cloudformation:DescribeStacks * - drs:GetLaunchConfiguration * - ec2:CreateLaunchTemplateVersion * - ec2:DescribeLaunchTemplateVersions * - ec2:DescribeLaunchTemplates * - ec2:DescribeSecurityGroups * - ec2:DescribeSubnets * - ec2:DescribeVpcs * - ec2:ModifyLaunchTemplate * * https://docs.aws.amazon.com/drs/latest/APIReference/API_AssociateSourceNetworkStack.html */ toAssociateSourceNetworkStack() { return this.to('AssociateSourceNetworkStack'); } /** * Grants permission to batch create volume snapshot group * * Access Level: Write * * https://docs.aws.amazon.com/drs/latest/userguide/drs-apis.html */ toBatchCreateVolumeSnapshotGroupForDrs() { return this.to('BatchCreateVolumeSnapshotGroupForDrs'); } /** * Grants permission to batch delete snapshot request * * Access Level: Write * * https://docs.aws.amazon.com/drs/latest/userguide/drs-apis.html */ toBatchDeleteSnapshotRequestForDrs() { return this.to('BatchDeleteSnapshotRequestForDrs'); } /** * Grants permission to create converted snapshot * * Access Level: Write * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/drs/latest/userguide/drs-apis.html */ toCreateConvertedSnapshotForDrs() { return this.to('CreateConvertedSnapshotForDrs'); } /** * Grants permission to extend a source server * * Access Level: Write * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * Dependent actions: * - drs:DescribeSourceServers * - drs:GetReplicationConfiguration * * https://docs.aws.amazon.com/drs/latest/APIReference/API_CreateExtendedSourceServer.html */ toCreateExtendedSourceServer() { return this.to('CreateExtendedSourceServer'); } /** * Grants permission to create launch configuration template * * Access Level: Write * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/drs/latest/APIReference/API_CreateLaunchConfigurationTemplate.html */ toCreateLaunchConfigurationTemplate() { return this.to('CreateLaunchConfigurationTemplate'); } /** * Grants permission to create recovery instance * * Access Level: Write * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/drs/latest/userguide/drs-apis.html */ toCreateRecoveryInstanceForDrs() { return this.to('CreateRecoveryInstanceForDrs'); } /** * Grants permission to create replication configuration template * * Access Level: Write * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * Dependent actions: * - ec2:CreateSecurityGroup * - ec2:DescribeSecurityGroups * - ec2:DescribeSubnets * - ec2:GetEbsDefaultKmsKeyId * - ec2:GetEbsEncryptionByDefault * - kms:CreateGrant * - kms:DescribeKey * * https://docs.aws.amazon.com/drs/latest/APIReference/API_CreateReplicationConfigurationTemplate.html */ toCreateReplicationConfigurationTemplate() { return this.to('CreateReplicationConfigurationTemplate'); } /** * Grants permission to create a source network * * Access Level: Write * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * Dependent actions: * - ec2:DescribeInstances * - ec2:DescribeVpcs * * https://docs.aws.amazon.com/drs/latest/APIReference/API_CreateSourceNetwork.html */ toCreateSourceNetwork() { return this.to('CreateSourceNetwork'); } /** * Grants permission to create a source server * * Access Level: Write * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/drs/latest/userguide/drs-apis.html */ toCreateSourceServerForDrs() { return this.to('CreateSourceServerForDrs'); } /** * Grants permission to delete a job * * Access Level: Write * * https://docs.aws.amazon.com/drs/latest/APIReference/API_DeleteJob.html */ toDeleteJob() { return this.to('DeleteJob'); } /** * Grants permission to delete a launch action * * Access Level: Write * * https://docs.aws.amazon.com/drs/latest/APIReference/API_DeleteLaunchAction.html */ toDeleteLaunchAction() { return this.to('DeleteLaunchAction'); } /** * Grants permission to delete launch configuration template * * Access Level: Write * * https://docs.aws.amazon.com/drs/latest/APIReference/API_DeleteLaunchConfigurationTemplate.html */ toDeleteLaunchConfigurationTemplate() { return this.to('DeleteLaunchConfigurationTemplate'); } /** * Grants permission to delete recovery instance * * Access Level: Write * * https://docs.aws.amazon.com/drs/latest/APIReference/API_DeleteRecoveryInstance.html */ toDeleteRecoveryInstance() { return this.to('DeleteRecoveryInstance'); } /** * Grants permission to delete replication configuration template * * Access Level: Write * * https://docs.aws.amazon.com/drs/latest/APIReference/API_DeleteReplicationConfigurationTemplate.html */ toDeleteReplicationConfigurationTemplate() { return this.to('DeleteReplicationConfigurationTemplate'); } /** * Grants permission to delete source network * * Access Level: Write * * https://docs.aws.amazon.com/drs/latest/APIReference/API_DeleteSourceNetwork.html */ toDeleteSourceNetwork() { return this.to('DeleteSourceNetwork'); } /** * Grants permission to delete source server * * Access Level: Write * * https://docs.aws.amazon.com/drs/latest/APIReference/API_DeleteSourceServer.html */ toDeleteSourceServer() { return this.to('DeleteSourceServer'); } /** * Grants permission to describe job log items * * Access Level: Read * * https://docs.aws.amazon.com/drs/latest/APIReference/API_DescribeJobLogItems.html */ toDescribeJobLogItems() { return this.to('DescribeJobLogItems'); } /** * Grants permission to describe jobs * * Access Level: Read * * https://docs.aws.amazon.com/drs/latest/APIReference/API_DescribeJobs.html */ toDescribeJobs() { return this.to('DescribeJobs'); } /** * Grants permission to describe launch configuration template * * Access Level: Read * * https://docs.aws.amazon.com/drs/latest/APIReference/API_DescribeLaunchConfigurationTemplates.html */ toDescribeLaunchConfigurationTemplates() { return this.to('DescribeLaunchConfigurationTemplates'); } /** * Grants permission to describe recovery instances * * Access Level: Read * * Dependent actions: * - drs:DescribeSourceServers * - ec2:DescribeInstances * * https://docs.aws.amazon.com/drs/latest/APIReference/API_DescribeRecoveryInstances.html */ toDescribeRecoveryInstances() { return this.to('DescribeRecoveryInstances'); } /** * Grants permission to describe recovery snapshots * * Access Level: Read * * https://docs.aws.amazon.com/drs/latest/APIReference/API_DescribeRecoverySnapshots.html */ toDescribeRecoverySnapshots() { return this.to('DescribeRecoverySnapshots'); } /** * Grants permission to describe replication configuration template * * Access Level: Read * * https://docs.aws.amazon.com/drs/latest/APIReference/API_DescribeReplicationConfigurationTemplates.html */ toDescribeReplicationConfigurationTemplates() { return this.to('DescribeReplicationConfigurationTemplates'); } /** * Grants permission to describe replication server associations * * Access Level: Read * * https://docs.aws.amazon.com/drs/latest/userguide/drs-apis.html */ toDescribeReplicationServerAssociationsForDrs() { return this.to('DescribeReplicationServerAssociationsForDrs'); } /** * Grants permission to describe snapshot requests * * Access Level: Read * * https://docs.aws.amazon.com/drs/latest/userguide/drs-apis.html */ toDescribeSnapshotRequestsForDrs() { return this.to('DescribeSnapshotRequestsForDrs'); } /** * Grants permission to describe source networks * * Access Level: Read * * https://docs.aws.amazon.com/drs/latest/APIReference/API_DescribeSourceNetworks.html */ toDescribeSourceNetworks() { return this.to('DescribeSourceNetworks'); } /** * Grants permission to describe source servers * * Access Level: Read * * https://docs.aws.amazon.com/drs/latest/APIReference/API_DescribeSourceServers.html */ toDescribeSourceServers() { return this.to('DescribeSourceServers'); } /** * Grants permission to disconnect recovery instance * * Access Level: Write * * https://docs.aws.amazon.com/drs/latest/APIReference/API_DisconnectRecoveryInstance.html */ toDisconnectRecoveryInstance() { return this.to('DisconnectRecoveryInstance'); } /** * Grants permission to disconnect source server * * Access Level: Write * * https://docs.aws.amazon.com/drs/latest/APIReference/API_DisconnectSourceServer.html */ toDisconnectSourceServer() { return this.to('DisconnectSourceServer'); } /** * Grants permission to export CloudFormation template which contains source network resources * * Access Level: Write * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * Dependent actions: * - s3:GetBucketLocation * - s3:GetObject * - s3:PutObject * * https://docs.aws.amazon.com/drs/latest/APIReference/API_ExportSourceNetworkCfnTemplate.html */ toExportSourceNetworkCfnTemplate() { return this.to('ExportSourceNetworkCfnTemplate'); } /** * Grants permission to get agent command * * Access Level: Read * * https://docs.aws.amazon.com/drs/latest/userguide/drs-apis.html */ toGetAgentCommandForDrs() { return this.to('GetAgentCommandForDrs'); } /** * Grants permission to get agent confirmed resume info * * Access Level: Read * * https://docs.aws.amazon.com/drs/latest/userguide/drs-apis.html */ toGetAgentConfirmedResumeInfoForDrs() { return this.to('GetAgentConfirmedResumeInfoForDrs'); } /** * Grants permission to get agent installation assets * * Access Level: Read * * https://docs.aws.amazon.com/drs/latest/userguide/drs-apis.html */ toGetAgentInstallationAssetsForDrs() { return this.to('GetAgentInstallationAssetsForDrs'); } /** * Grants permission to get agent replication info * * Access Level: Read * * https://docs.aws.amazon.com/drs/latest/userguide/drs-apis.html */ toGetAgentReplicationInfoForDrs() { return this.to('GetAgentReplicationInfoForDrs'); } /** * Grants permission to get agent runtime configuration * * Access Level: Read * * https://docs.aws.amazon.com/drs/latest/userguide/drs-apis.html */ toGetAgentRuntimeConfigurationForDrs() { return this.to('GetAgentRuntimeConfigurationForDrs'); } /** * Grants permission to get agent snapshot credits * * Access Level: Read * * https://docs.aws.amazon.com/drs/latest/userguide/drs-apis.html */ toGetAgentSnapshotCreditsForDrs() { return this.to('GetAgentSnapshotCreditsForDrs'); } /** * Grants permission to get channel commands * * Access Level: Read * * https://docs.aws.amazon.com/drs/latest/userguide/drs-apis.html */ toGetChannelCommandsForDrs() { return this.to('GetChannelCommandsForDrs'); } /** * Grants permission to get failback command * * Access Level: Read * * https://docs.aws.amazon.com/drs/latest/userguide/drs-apis.html */ toGetFailbackCommandForDrs() { return this.to('GetFailbackCommandForDrs'); } /** * Grants permission to get failback launch requested * * Access Level: Read * * https://docs.aws.amazon.com/drs/latest/userguide/drs-apis.html */ toGetFailbackLaunchRequestedForDrs() { return this.to('GetFailbackLaunchRequestedForDrs'); } /** * Grants permission to get failback replication configuration * * Access Level: Read * * https://docs.aws.amazon.com/drs/latest/APIReference/API_GetFailbackReplicationConfiguration.html */ toGetFailbackReplicationConfiguration() { return this.to('GetFailbackReplicationConfiguration'); } /** * Grants permission to get launch configuration * * Access Level: Read * * https://docs.aws.amazon.com/drs/latest/APIReference/API_GetLaunchConfiguration.html */ toGetLaunchConfiguration() { return this.to('GetLaunchConfiguration'); } /** * Grants permission to get replication configuration * * Access Level: Read * * https://docs.aws.amazon.com/drs/latest/APIReference/API_GetReplicationConfiguration.html */ toGetReplicationConfiguration() { return this.to('GetReplicationConfiguration'); } /** * Grants permission to get suggested failback client device mapping * * Access Level: Read * * https://docs.aws.amazon.com/drs/latest/userguide/drs-apis.html */ toGetSuggestedFailbackClientDeviceMappingForDrs() { return this.to('GetSuggestedFailbackClientDeviceMappingForDrs'); } /** * Grants permission to initialize service * * Access Level: Write * * Dependent actions: * - iam:AddRoleToInstanceProfile * - iam:CreateInstanceProfile * - iam:CreateServiceLinkedRole * - iam:GetInstanceProfile * * https://docs.aws.amazon.com/drs/latest/APIReference/API_InitializeService.html */ toInitializeService() { return this.to('InitializeService'); } /** * Grants permission to issue an agent certificate * * Access Level: Write * * https://docs.aws.amazon.com/drs/latest/userguide/drs-apis.html */ toIssueAgentCertificateForDrs() { return this.to('IssueAgentCertificateForDrs'); } /** * Grants permission to list extensible source servers * * Access Level: Read * * Dependent actions: * - drs:DescribeSourceServers * * https://docs.aws.amazon.com/drs/latest/APIReference/API_ListExtensibleSourceServers.html */ toListExtensibleSourceServers() { return this.to('ListExtensibleSourceServers'); } /** * Grants permission to list launch actions * * Access Level: Read * * https://docs.aws.amazon.com/drs/latest/APIReference/API_ListLaunchActions.html */ toListLaunchActions() { return this.to('ListLaunchActions'); } /** * Grants permission to list staging accounts * * Access Level: Read * * https://docs.aws.amazon.com/drs/latest/APIReference/API_ListStagingAccounts.html */ toListStagingAccounts() { return this.to('ListStagingAccounts'); } /** * Grants permission to list tags for a resource * * Access Level: Read * * https://docs.aws.amazon.com/drs/latest/APIReference/API_ListTagsForResource.html */ toListTagsForResource() { return this.to('ListTagsForResource'); } /** * Grants permission to notify agent authentication * * Access Level: Write * * https://docs.aws.amazon.com/drs/latest/userguide/drs-apis.html */ toNotifyAgentAuthenticationForDrs() { return this.to('NotifyAgentAuthenticationForDrs'); } /** * Grants permission to notify agent is connected * * Access Level: Write * * https://docs.aws.amazon.com/drs/latest/userguide/drs-apis.html */ toNotifyAgentConnectedForDrs() { return this.to('NotifyAgentConnectedForDrs'); } /** * Grants permission to notify agent is disconnected * * Access Level: Write * * https://docs.aws.amazon.com/drs/latest/userguide/drs-apis.html */ toNotifyAgentDisconnectedForDrs() { return this.to('NotifyAgentDisconnectedForDrs'); } /** * Grants permission to notify agent replication progress * * Access Level: Write * * https://docs.aws.amazon.com/drs/latest/userguide/drs-apis.html */ toNotifyAgentReplicationProgressForDrs() { return this.to('NotifyAgentReplicationProgressForDrs'); } /** * Grants permission to notify consistency attained * * Access Level: Write * * https://docs.aws.amazon.com/drs/latest/userguide/drs-apis.html */ toNotifyConsistencyAttainedForDrs() { return this.to('NotifyConsistencyAttainedForDrs'); } /** * Grants permission to notify replication server authentication * * Access Level: Write * * https://docs.aws.amazon.com/drs/latest/userguide/drs-apis.html */ toNotifyReplicationServerAuthenticationForDrs() { return this.to('NotifyReplicationServerAuthenticationForDrs'); } /** * Grants permission to notify replicator volume events * * Access Level: Write * * https://docs.aws.amazon.com/drs/latest/userguide/drs-apis.html */ toNotifyVolumeEventForDrs() { return this.to('NotifyVolumeEventForDrs'); } /** * Grants permission to put a launch action * * Access Level: Write * * Dependent actions: * - ssm:DescribeDocument * * https://docs.aws.amazon.com/drs/latest/APIReference/API_PutLaunchAction.html */ toPutLaunchAction() { return this.to('PutLaunchAction'); } /** * Grants permission to retry data replication * * Access Level: Write * * https://docs.aws.amazon.com/drs/latest/APIReference/API_RetryDataReplication.html */ toRetryDataReplication() { return this.to('RetryDataReplication'); } /** * Grants permission to reverse replication * * Access Level: Write * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * Dependent actions: * - drs:DescribeReplicationConfigurationTemplates * - drs:DescribeSourceServers * - ec2:DescribeInstances * * https://docs.aws.amazon.com/drs/latest/APIReference/API_ReverseReplication.html */ toReverseReplication() { return this.to('ReverseReplication'); } /** * Grants permission to send agent logs * * Access Level: Write * * https://docs.aws.amazon.com/drs/latest/userguide/drs-apis.html */ toSendAgentLogsForDrs() { return this.to('SendAgentLogsForDrs'); } /** * Grants permission to send agent metrics * * Access Level: Write * * https://docs.aws.amazon.com/drs/latest/userguide/drs-apis.html */ toSendAgentMetricsForDrs() { return this.to('SendAgentMetricsForDrs'); } /** * Grants permission to send channel command result * * Access Level: Write * * https://docs.aws.amazon.com/drs/latest/userguide/drs-apis.html */ toSendChannelCommandResultForDrs() { return this.to('SendChannelCommandResultForDrs'); } /** * Grants permission to send client logs * * Access Level: Write * * https://docs.aws.amazon.com/drs/latest/userguide/drs-apis.html */ toSendClientLogsForDrs() { return this.to('SendClientLogsForDrs'); } /** * Grants permission to send client metrics * * Access Level: Write * * https://docs.aws.amazon.com/drs/latest/userguide/drs-apis.html */ toSendClientMetricsForDrs() { return this.to('SendClientMetricsForDrs'); } /** * Grants permission to send volume throughput statistics * * Access Level: Write * * https://docs.aws.amazon.com/drs/latest/userguide/drs-apis.html */ toSendVolumeStatsForDrs() { return this.to('SendVolumeStatsForDrs'); } /** * Grants permission to start failback launch * * Access Level: Write * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/drs/latest/APIReference/API_StartFailbackLaunch.html */ toStartFailbackLaunch() { return this.to('StartFailbackLaunch'); } /** * Grants permission to start recovery * * Access Level: Write * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * Dependent actions: * - drs:CreateRecoveryInstanceForDrs * - drs:ListTagsForResource * - ec2:AttachVolume * - ec2:AuthorizeSecurityGroupEgress * - ec2:AuthorizeSecurityGroupIngress * - ec2:CreateLaunchTemplate * - ec2:CreateLaunchTemplateVersion * - ec2:CreateSnapshot * - ec2:CreateTags * - ec2:CreateVolume * - ec2:DeleteLaunchTemplateVersions * - ec2:DeleteSnapshot * - ec2:DeleteVolume * - ec2:DescribeAccountAttributes * - ec2:DescribeAvailabilityZones * - ec2:DescribeImages * - ec2:DescribeInstanceAttribute * - ec2:DescribeInstanceStatus * - ec2:DescribeInstanceTypes * - ec2:DescribeInstances * - ec2:DescribeLaunchTemplateVersions * - ec2:DescribeLaunchTemplates * - ec2:DescribeSecurityGroups * - ec2:DescribeSnapshots * - ec2:DescribeSubnets * - ec2:DescribeVolumes * - ec2:DetachVolume * - ec2:ModifyInstanceAttribute * - ec2:ModifyLaunchTemplate * - ec2:RevokeSecurityGroupEgress * - ec2:RunInstances * - ec2:StartInstances * - ec2:StopInstances * - ec2:TerminateInstances * - iam:PassRole * * https://docs.aws.amazon.com/drs/latest/APIReference/API_StartRecovery.html */ toStartRecovery() { return this.to('StartRecovery'); } /** * Grants permission to start replication * * Access Level: Write * * https://docs.aws.amazon.com/drs/latest/APIReference/API_StartReplication.html */ toStartReplication() { return this.to('StartReplication'); } /** * Grants permission to start network recovery * * Access Level: Write * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * Dependent actions: * - cloudformation:CreateStack * - cloudformation:DescribeStackResource * - cloudformation:DescribeStacks * - cloudformation:UpdateStack * - drs:GetLaunchConfiguration * - ec2:CreateLaunchTemplateVersion * - ec2:DescribeLaunchTemplateVersions * - ec2:DescribeLaunchTemplates * - ec2:DescribeSecurityGroups * - ec2:DescribeSubnets * - ec2:DescribeVpcs * - ec2:ModifyLaunchTemplate * - s3:GetObject * - s3:PutObject * * https://docs.aws.amazon.com/drs/latest/APIReference/API_StartSourceNetworkRecovery.html */ toStartSourceNetworkRecovery() { return this.to('StartSourceNetworkRecovery'); } /** * Grants permission to start network replication * * Access Level: Write * * https://docs.aws.amazon.com/drs/latest/APIReference/API_StartSourceNetworkReplication.html */ toStartSourceNetworkReplication() { return this.to('StartSourceNetworkReplication'); } /** * Grants permission to stop failback * * Access Level: Write * * https://docs.aws.amazon.com/drs/latest/APIReference/API_StopFailback.html */ toStopFailback() { return this.to('StopFailback'); } /** * Grants permission to stop replication * * Access Level: Write * * https://docs.aws.amazon.com/drs/latest/APIReference/API_StopReplication.html */ toStopReplication() { return this.to('StopReplication'); } /** * Grants permission to stop network replication * * Access Level: Write * * https://docs.aws.amazon.com/drs/latest/APIReference/API_StopSourceNetworkReplication.html */ toStopSourceNetworkReplication() { return this.to('StopSourceNetworkReplication'); } /** * Grants permission to assign a resource tag * * Access Level: Tagging * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * - .ifCreateAction() * * https://docs.aws.amazon.com/drs/latest/APIReference/API_TagResource.html */ toTagResource() { return this.to('TagResource'); } /** * Grants permission to terminate recovery instances * * Access Level: Write * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * Dependent actions: * - drs:DescribeSourceServers * - ec2:DeleteVolume * - ec2:DescribeInstances * - ec2:DescribeVolumes * - ec2:TerminateInstances * * https://docs.aws.amazon.com/drs/latest/APIReference/API_TerminateRecoveryInstances.html */ toTerminateRecoveryInstances() { return this.to('TerminateRecoveryInstances'); } /** * Grants permission to untag a resource * * Access Level: Tagging * * Possible conditions: * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/drs/latest/APIReference/API_UntagResource.html */ toUntagResource() { return this.to('UntagResource'); } /** * Grants permission to update agent backlog * * Access Level: Write * * https://docs.aws.amazon.com/drs/latest/userguide/drs-apis.html */ toUpdateAgentBacklogForDrs() { return this.to('UpdateAgentBacklogForDrs'); } /** * Grants permission to update agent conversion info * * Access Level: Write * * https://docs.aws.amazon.com/drs/latest/userguide/drs-apis.html */ toUpdateAgentConversionInfoForDrs() { return this.to('UpdateAgentConversionInfoForDrs'); } /** * Grants permission to update agent replication info * * Access Level: Write * * https://docs.aws.amazon.com/drs/latest/userguide/drs-apis.html */ toUpdateAgentReplicationInfoForDrs() { return this.to('UpdateAgentReplicationInfoForDrs'); } /** * Grants permission to update agent replication process state * * Access Level: Write * * https://docs.aws.amazon.com/drs/latest/userguide/drs-apis.html */ toUpdateAgentReplicationProcessStateForDrs() { return this.to('UpdateAgentReplicationProcessStateForDrs'); } /** * Grants permission to update agent source properties * * Access Level: Write * * https://docs.aws.amazon.com/drs/latest/userguide/drs-apis.html */ toUpdateAgentSourcePropertiesForDrs() { return this.to('UpdateAgentSourcePropertiesForDrs'); } /** * Grants permission to update failback client device mapping * * Access Level: Write * * https://docs.aws.amazon.com/drs/latest/userguide/drs-apis.html */ toUpdateFailbackClientDeviceMappingForDrs() { return this.to('UpdateFailbackClientDeviceMappingForDrs'); } /** * Grants permission to update failback client last seen * * Access Level: Write * * https://docs.aws.amazon.com/drs/latest/userguide/drs-apis.html */ toUpdateFailbackClientLastSeenForDrs() { return this.to('UpdateFailbackClientLastSeenForDrs'); } /** * Grants permission to update failback replication configuration * * Access Level: Write * * https://docs.aws.amazon.com/drs/latest/APIReference/API_UpdateFailbackReplicationConfiguration.html */ toUpdateFailbackReplicationConfiguration() { return this.to('UpdateFailbackReplicationConfiguration'); } /** * Grants permission to update launch configuration * * Access Level: Write * * Dependent actions: * - ec2:DescribeInstances * * https://docs.aws.amazon.com/drs/latest/APIReference/API_UpdateLaunchConfiguration.html */ toUpdateLaunchConfiguration() { return this.to('UpdateLaunchConfiguration'); } /** * Grants permission to update launch configuration * * Access Level: Write * * https://docs.aws.amazon.com/drs/latest/APIReference/API_UpdateLaunchConfigurationTemplate.html */ toUpdateLaunchConfigurationTemplate() { return this.to('UpdateLaunchConfigurationTemplate'); } /** * Grants permission to update a replication certificate * * Access Level: Write * * https://docs.aws.amazon.com/drs/latest/userguide/drs-apis.html */ toUpdateReplicationCertificateForDrs() { return this.to('UpdateReplicationCertificateForDrs'); } /** * Grants permission to update replication configuration * * Access Level: Write * * Dependent actions: * - ec2:CreateSecurityGroup * - ec2:DescribeSecurityGroups * - ec2:DescribeSubnets * - ec2:GetEbsDefaultKmsKeyId * - ec2:GetEbsEncryptionByDefault * - kms:CreateGrant * - kms:DescribeKey * * https://docs.aws.amazon.com/drs/latest/APIReference/API_UpdateReplicationConfiguration.html */ toUpdateReplicationConfiguration() { return this.to('UpdateReplicationConfiguration'); } /** * Grants permission to update replication configuration template * * Access Level: Write * * Dependent actions: * - ec2:CreateSecurityGroup * - ec2:DescribeSecurityGroups * - ec2:DescribeSubnets * - ec2:GetEbsDefaultKmsKeyId * - ec2:GetEbsEncryptionByDefault * - kms:CreateGrant * - kms:DescribeKey * * https://docs.aws.amazon.com/drs/latest/APIReference/API_UpdateReplicationConfigurationTemplate.html */ toUpdateReplicationConfigurationTemplate() { return this.to('UpdateReplicationConfigurationTemplate'); } /** * Adds a resource of type JobResource to the statement * * https://docs.aws.amazon.com/drs/latest/userguide/failback-overview.html * * @param jobID - Identifier for the jobID. * @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() */ onJobResource(jobID, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:drs:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:job/${jobID}`); } /** * Adds a resource of type RecoveryInstanceResource to the statement * * https://docs.aws.amazon.com/drs/latest/userguide/recovery-instances.html * * @param recoveryInstanceID - Identifier for the recoveryInstanceID. * @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() * - .ifEC2InstanceARN() */ onRecoveryInstanceResource(recoveryInstanceID, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:drs:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:recovery-instance/${recoveryInstanceID}`); } /** * Adds a resource of type ReplicationConfigurationTemplateResource to the statement * * https://docs.aws.amazon.com/drs/latest/userguide/replication-settings-template.html * * @param replicationConfigurationTemplateID - Identifier for the replicationConfigurationTemplateID. * @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() */ onReplicationConfigurationTemplateResource(replicationConfigurationTemplateID, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:drs:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:replication-configuration-template/${replicationConfigurationTemplateID}`); } /** * Adds a resource of type LaunchConfigurationTemplateResource to the statement * * https://docs.aws.amazon.com/drs/latest/userguide/default-drs-launch-settings.html * * @param launchConfigurationTemplateID - Identifier for the launchConfigurationTemplateID. * @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() */ onLaunchConfigurationTemplateResource(launchConfigurationTemplateID, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:drs:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:launch-configuration-template/${launchConfigurationTemplateID}`); } /** * Adds a resource of type SourceServerResource to the statement * * https://docs.aws.amazon.com/drs/latest/userguide/source-servers.html * * @param sourceServerID - Identifier for the sourceServerID. * @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() */ onSourceServerResource(sourceServerID, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:drs:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:source-server/${sourceServerID}`); } /** * Adds a resource of type SourceNetworkResource to the statement * * https://docs.aws.amazon.com/drs/latest/userguide/source-networks.html * * @param sourceNetworkID - Identifier for the sourceNetworkID. * @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() */ onSourceNetworkResource(sourceNetworkID, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:drs:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:source-network/${sourceNetworkID}`); } /** * 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: * - .toAssociateSourceNetworkStack() * - .toCreateConvertedSnapshotForDrs() * - .toCreateExtendedSourceServer() * - .toCreateLaunchConfigurationTemplate() * - .toCreateRecoveryInstanceForDrs() * - .toCreateReplicationConfigurationTemplate() * - .toCreateSourceNetwork() * - .toCreateSourceServerForDrs() * - .toExportSourceNetworkCfnTemplate() * - .toReverseReplication() * - .toStartFailbackLaunch() * - .toStartRecovery() * - .toStartSourceNetworkRecovery() * - .toTagResource() * - .toTerminateRecoveryInstances() * * @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 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: * - JobResource * - RecoveryInstanceResource * - ReplicationConfigurationTemplateResource * - LaunchConfigurationTemplateResource * - SourceServerResource * - SourceNetworkResource * * @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 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: * - .toAssociateSourceNetworkStack() * - .toCreateConvertedSnapshotForDrs() * - .toCreateExtendedSourceServer() * - .toCreateLaunchConfigurationTemplate() * - .toCreateRecoveryInstanceForDrs() * - .toCreateReplicationConfigurationTemplate() * - .toCreateSourceNetwork() * - .toCreateSourceServerForDrs() * - .toExportSourceNetworkCfnTemplate() * - .toReverseReplication() * - .toStartFailbackLaunch() * - .toStartRecovery() * - .toStartSourceNetworkRecovery() * - .toTagResource() * - .toTerminateRecoveryInstances() * - .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'); } /** * Filters access by the name of a resource-creating API action * * https://docs.aws.amazon.com/drs/latest/userguide/supported-iam-actions-tagging.html * * Applies to actions: * - .toTagResource() * * @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` */ ifCreateAction(value, operator) { return this.if(`CreateAction`, value, operator ?? 'StringLike'); } /** * Filters access by the EC2 instance the request originated from * * https://docs.aws.amazon.com/drs/latest/userguide/security_iam_authentication.html * * Applies to resource types: * - RecoveryInstanceResource * * @param value The value(s) to check * @param operator Works with [arn operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_ARN). **Default:** `ArnLike` */ ifEC2InstanceARN(value, operator) { return this.if(`EC2InstanceARN`, value, operator ?? 'ArnLike'); } /** * Statement provider for service [drs](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awselasticdisasterrecovery.html). * */ constructor(props) { super(props); this.servicePrefix = 'drs'; this.accessLevelList = { Write: [ 'AssociateFailbackClientToRecoveryInstanceForDrs', 'AssociateSourceNetworkStack', 'BatchCreateVolumeSnapshotGroupForDrs', 'BatchDeleteSnapshotRequestForDrs', 'CreateConvertedSnapshotForDrs', 'CreateExtendedSourceServer', 'CreateLaunchConfigurationTemplate', 'CreateRecoveryInstanceForDrs', 'CreateReplicationConfigurationTemplate', 'CreateSourceNetwork', 'CreateSourceServerForDrs', 'DeleteJob', 'DeleteLaunchAction', 'DeleteLaunchConfigurationTemplate', 'DeleteRecoveryInstance', 'DeleteReplicationConfigurationTemplate', 'DeleteSourceNetwork', 'DeleteSourceServer', 'DisconnectRecoveryInstance', 'DisconnectSourceServer', 'ExportSourceNetworkCfnTemplate', 'InitializeService', 'IssueAgentCertificateForDrs', 'NotifyAgentAuthenticationForDrs', 'NotifyAgentConnectedForDrs', 'NotifyAgentDisconnectedForDrs', 'NotifyAgentReplicationProgressForDrs', 'NotifyConsistencyAttainedForDrs', 'NotifyReplicationServerAuthenticationForDrs', 'NotifyVolumeEventForDrs', 'PutLaunchAction', 'RetryDataReplication', 'ReverseReplication', 'SendAgentLogsForDrs', 'SendAgentMetricsForDrs', 'SendChannelCommandResultForDrs', 'SendClientLogsForDrs', 'SendClientMetricsForDrs', 'SendVolumeStatsForDrs', 'StartFailbackLaunch', 'StartRecovery', 'StartReplication', 'StartSourceNetworkRecovery', 'StartSourceNetworkReplication', 'StopFailback', 'StopReplication', 'StopSourceNetworkReplication', 'TerminateRecoveryInstances', 'UpdateAgentBacklogForDrs', 'UpdateAgentConversionInfoForDrs', 'UpdateAgentReplicationInfoForDrs', 'UpdateAgentReplicationProcessStateForDrs', 'UpdateAgentSourcePropertiesForDrs', 'UpdateFailbackClientDeviceMappingForDrs', 'UpdateFailbackClientLastSeenForDrs', 'UpdateFailbackReplicationConfiguration', 'UpdateLaunchConfiguration', 'UpdateLaunchConfigurationTemplate', 'UpdateReplicationCertificateForDrs', 'UpdateReplicationConfiguration', 'UpdateReplicationConfigurationTemplate' ], Read: [ 'DescribeJobLogItems', 'DescribeJobs', 'DescribeLaunchConfigurationTemplates', 'DescribeRecoveryInstances', 'DescribeRecoverySnapshots', 'DescribeReplicationConfigurationTemplates', 'DescribeReplicationServerAssociationsForDrs', 'DescribeSnapshotRequestsForDrs', 'DescribeSourceNetworks', 'DescribeSourceServers', 'GetAgentCommandForDrs', 'GetAgentConfirmedResumeInfoForDrs', 'GetAgentInstallationAssetsForDrs', 'GetAgentReplicationInfoForDrs', 'GetAgentRuntimeConfigurationForDrs', 'GetAgentSnapshotCreditsForDrs', 'GetChannelCommandsForDrs', 'GetFailbackCommandForDrs', 'GetFailbackLaunchRequestedForDrs', 'GetFailbackReplicationConfiguration', 'GetLaunchConfiguration', 'GetReplicationConfiguration', 'GetSuggestedFailbackClientDeviceMappingForDrs', 'ListExtensibleSourceServers', 'ListLaunchActions', 'ListStagingAccounts', 'ListTagsForResource' ], Tagging: [ 'TagResource', 'UntagResource' ] }; } } exports.Drs = Drs; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxhc3RpY2Rpc2FzdGVycmVjb3ZlcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJlbGFzdGljZGlzYXN0ZXJyZWNvdmVyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSx5Q0FBeUQ7QUFHekQ7Ozs7R0FJRztBQUNILE1BQWEsR0FBSSxTQUFRLHdCQUFlO0lBR3RDOzs7Ozs7T0FNRztJQUNJLGlEQUFpRDtRQUN0RCxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsaURBQWlELENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0FzQkc7SUFDSSw2QkFBNkI7UUFDbEMsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLDZCQUE2QixDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLHNDQUFzQztRQUMzQyxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsc0NBQXNDLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksa0NBQWtDO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRDs7Ozs7Ozs7OztPQVVHO0lBQ0ksK0JBQStCO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRDs7Ozs7Ozs7Ozs7Ozs7T0FjRztJQUNJLDRCQUE0QjtRQUNqQyxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsNEJBQTRCLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7T0FVRztJQUNJLG1DQUFtQztRQUN4QyxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsbUNBQW1DLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7T0FVRztJQUNJLDhCQUE4QjtRQUNuQyxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsOEJBQThCLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0FtQkc7SUFDSSx3Q0FBd0M7UUFDN0MsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLHdDQUF3QyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7OztPQWNHO0lBQ0kscUJBQXFCO1FBQzFCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRDs7Ozs7Ozs7OztPQVVHO0lBQ0ksMEJBQTBCO1FBQy9CLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxXQUFXO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksb0JBQW9CO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxtQ0FBbUM7UUFDeEMsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLG1DQUFtQyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLHdCQUF3QjtRQUM3QixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsd0JBQXdCLENBQUMsQ0FBQztJQUM