UNPKG

cdk-iam-floyd

Version:

AWS IAM policy statement generator with fluent interface for AWS CDK

1,507 lines 140 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Mgn = void 0; const shared_1 = require("../../shared"); /** * Statement provider for service [mgn](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsapplicationmigrationservice.html). * * @param sid [SID](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_sid.html) of the statement */ class Mgn extends shared_1.PolicyStatement { /** * Grants permission to archive an application * * Access Level: Write * * https://docs.aws.amazon.com/mgn/latest/APIReference/API_ArchiveApplication.html */ toArchiveApplication() { return this.to('ArchiveApplication'); } /** * Grants permission to archive a wave * * Access Level: Write * * https://docs.aws.amazon.com/mgn/latest/APIReference/API_ArchiveWave.html */ toArchiveWave() { return this.to('ArchiveWave'); } /** * Grants permission to associate applications to a wave * * Access Level: Write * * https://docs.aws.amazon.com/mgn/latest/APIReference/API_AssociateApplications.html */ toAssociateApplications() { return this.to('AssociateApplications'); } /** * Grants permission to associate source servers to an application * * Access Level: Write * * https://docs.aws.amazon.com/mgn/latest/APIReference/API_AssociateSourceServers.html */ toAssociateSourceServers() { return this.to('AssociateSourceServers'); } /** * Grants permission to create volume snapshot group * * Access Level: Write * * https://docs.aws.amazon.com/mgn/latest/ug/mgn-apis.html */ toBatchCreateVolumeSnapshotGroupForMgn() { return this.to('BatchCreateVolumeSnapshotGroupForMgn'); } /** * Grants permission to batch delete snapshot request * * Access Level: Write * * https://docs.aws.amazon.com/mgn/latest/ug/mgn-apis.html */ toBatchDeleteSnapshotRequestForMgn() { return this.to('BatchDeleteSnapshotRequestForMgn'); } /** * Grants permission to change source server life cycle state * * Access Level: Write * * https://docs.aws.amazon.com/mgn/latest/APIReference/API_ChangeServerLifeCycleState.html */ toChangeServerLifeCycleState() { return this.to('ChangeServerLifeCycleState'); } /** * Grants permission to create an application * * Access Level: Write * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/mgn/latest/APIReference/API_CreateApplication.html */ toCreateApplication() { return this.to('CreateApplication'); } /** * Grants permission to create connector * * Access Level: Write * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/mgn/latest/APIReference/API_CreateConnector.html */ toCreateConnector() { return this.to('CreateConnector'); } /** * Grants permission to create launch configuration template * * Access Level: Write * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/mgn/latest/APIReference/API_CreateLaunchConfigurationTemplate.html */ toCreateLaunchConfigurationTemplate() { return this.to('CreateLaunchConfigurationTemplate'); } /** * Grants permission to create replication configuration template * * Access Level: Write * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/mgn/latest/APIReference/API_CreateReplicationConfigurationTemplate.html */ toCreateReplicationConfigurationTemplate() { return this.to('CreateReplicationConfigurationTemplate'); } /** * Grants permission to create vcenter client * * Access Level: Write * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/mgn/latest/ug/mgn-apis.html */ toCreateVcenterClientForMgn() { return this.to('CreateVcenterClientForMgn'); } /** * Grants permission to create a wave * * Access Level: Write * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/mgn/latest/APIReference/API_CreateWave.html */ toCreateWave() { return this.to('CreateWave'); } /** * Grants permission to delete an application * * Access Level: Write * * https://docs.aws.amazon.com/mgn/latest/APIReference/API_DeleteApplication.html */ toDeleteApplication() { return this.to('DeleteApplication'); } /** * Grants permission to delete connector * * Access Level: Write * * https://docs.aws.amazon.com/mgn/latest/APIReference/API_DeleteConnector.html */ toDeleteConnector() { return this.to('DeleteConnector'); } /** * Grants permission to delete job * * Access Level: Write * * https://docs.aws.amazon.com/mgn/latest/APIReference/API_DeleteJob.html */ toDeleteJob() { return this.to('DeleteJob'); } /** * Grants permission to delete launch configuration template * * Access Level: Write * * https://docs.aws.amazon.com/mgn/latest/APIReference/API_DeleteLaunchConfigurationTemplate.html */ toDeleteLaunchConfigurationTemplate() { return this.to('DeleteLaunchConfigurationTemplate'); } /** * Grants permission to delete replication configuration template * * Access Level: Write * * https://docs.aws.amazon.com/mgn/latest/APIReference/API_DeleteReplicationConfigurationTemplate.html */ toDeleteReplicationConfigurationTemplate() { return this.to('DeleteReplicationConfigurationTemplate'); } /** * Grants permission to delete source server * * Access Level: Write * * https://docs.aws.amazon.com/mgn/latest/APIReference/API_DeleteSourceServer.html */ toDeleteSourceServer() { return this.to('DeleteSourceServer'); } /** * Grants permission to delete vcenter client * * Access Level: Write * * https://docs.aws.amazon.com/mgn/latest/APIReference/API_DeleteVcenterClient.html */ toDeleteVcenterClient() { return this.to('DeleteVcenterClient'); } /** * Grants permission to delete a wave * * Access Level: Write * * https://docs.aws.amazon.com/mgn/latest/APIReference/API_DeleteWave.html */ toDeleteWave() { return this.to('DeleteWave'); } /** * Grants permission to describe job log items * * Access Level: Read * * https://docs.aws.amazon.com/mgn/latest/APIReference/API_DescribeJobLogItems.html */ toDescribeJobLogItems() { return this.to('DescribeJobLogItems'); } /** * Grants permission to describe jobs * * Access Level: List * * https://docs.aws.amazon.com/mgn/latest/APIReference/API_DescribeJobs.html */ toDescribeJobs() { return this.to('DescribeJobs'); } /** * Grants permission to describe launch configuration template * * Access Level: List * * https://docs.aws.amazon.com/mgn/latest/APIReference/API_DescribeLaunchConfigurationTemplates.html */ toDescribeLaunchConfigurationTemplates() { return this.to('DescribeLaunchConfigurationTemplates'); } /** * Grants permission to describe replication configuration template * * Access Level: List * * https://docs.aws.amazon.com/mgn/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/mgn/latest/ug/mgn-apis.html */ toDescribeReplicationServerAssociationsForMgn() { return this.to('DescribeReplicationServerAssociationsForMgn'); } /** * Grants permission to describe snapshots requests * * Access Level: Read * * https://docs.aws.amazon.com/mgn/latest/ug/mgn-apis.html */ toDescribeSnapshotRequestsForMgn() { return this.to('DescribeSnapshotRequestsForMgn'); } /** * Grants permission to describe source servers * * Access Level: List * * https://docs.aws.amazon.com/mgn/latest/APIReference/API_DescribeSourceServers.html */ toDescribeSourceServers() { return this.to('DescribeSourceServers'); } /** * Grants permission to describe vcenter clients * * Access Level: List * * https://docs.aws.amazon.com/mgn/latest/APIReference/API_DescribeVcenterClients.html */ toDescribeVcenterClients() { return this.to('DescribeVcenterClients'); } /** * Grants permission to disassociate applications from a wave * * Access Level: Write * * https://docs.aws.amazon.com/mgn/latest/APIReference/API_DisassociateApplications.html */ toDisassociateApplications() { return this.to('DisassociateApplications'); } /** * Grants permission to disassociate source servers from an application * * Access Level: Write * * https://docs.aws.amazon.com/mgn/latest/APIReference/API_DisassociateSourceServers.html */ toDisassociateSourceServers() { return this.to('DisassociateSourceServers'); } /** * Grants permission to disconnect source server from service * * Access Level: Write * * https://docs.aws.amazon.com/mgn/latest/APIReference/API_DisconnectFromService.html */ toDisconnectFromService() { return this.to('DisconnectFromService'); } /** * Grants permission to finalize cutover * * Access Level: Write * * https://docs.aws.amazon.com/mgn/latest/APIReference/API_FinalizeCutover.html */ toFinalizeCutover() { return this.to('FinalizeCutover'); } /** * Grants permission to get agent command * * Access Level: Read * * https://docs.aws.amazon.com/mgn/latest/ug/mgn-apis.html */ toGetAgentCommandForMgn() { return this.to('GetAgentCommandForMgn'); } /** * Grants permission to get agent confirmed resume info * * Access Level: Read * * https://docs.aws.amazon.com/mgn/latest/ug/mgn-apis.html */ toGetAgentConfirmedResumeInfoForMgn() { return this.to('GetAgentConfirmedResumeInfoForMgn'); } /** * Grants permission to get agent installation assets * * Access Level: Read * * https://docs.aws.amazon.com/mgn/latest/ug/mgn-apis.html */ toGetAgentInstallationAssetsForMgn() { return this.to('GetAgentInstallationAssetsForMgn'); } /** * Grants permission to get agent replication info * * Access Level: Read * * https://docs.aws.amazon.com/mgn/latest/ug/mgn-apis.html */ toGetAgentReplicationInfoForMgn() { return this.to('GetAgentReplicationInfoForMgn'); } /** * Grants permission to get agent runtime configuration * * Access Level: Read * * https://docs.aws.amazon.com/mgn/latest/ug/mgn-apis.html */ toGetAgentRuntimeConfigurationForMgn() { return this.to('GetAgentRuntimeConfigurationForMgn'); } /** * Grants permission to get agent snapshots credits * * Access Level: Read * * https://docs.aws.amazon.com/mgn/latest/ug/mgn-apis.html */ toGetAgentSnapshotCreditsForMgn() { return this.to('GetAgentSnapshotCreditsForMgn'); } /** * Grants permission to get channel commands * * Access Level: Read * * https://docs.aws.amazon.com/mgn/latest/ug/mgn-apis.html */ toGetChannelCommandsForMgn() { return this.to('GetChannelCommandsForMgn'); } /** * Grants permission to get launch configuration * * Access Level: Read * * https://docs.aws.amazon.com/mgn/latest/APIReference/API_GetLaunchConfiguration.html */ toGetLaunchConfiguration() { return this.to('GetLaunchConfiguration'); } /** * Grants permission to get replication configuration * * Access Level: Read * * https://docs.aws.amazon.com/mgn/latest/APIReference/API_GetReplicationConfiguration.html */ toGetReplicationConfiguration() { return this.to('GetReplicationConfiguration'); } /** * Grants permission to get vcenter client commands * * Access Level: Read * * https://docs.aws.amazon.com/mgn/latest/ug/mgn-apis.html */ toGetVcenterClientCommandsForMgn() { return this.to('GetVcenterClientCommandsForMgn'); } /** * Grants permission to initialize service * * Access Level: Write * * Dependent actions: * - iam:AddRoleToInstanceProfile * - iam:CreateInstanceProfile * - iam:CreateServiceLinkedRole * - iam:GetInstanceProfile * * https://docs.aws.amazon.com/mgn/latest/APIReference/API_InitializeService.html */ toInitializeService() { return this.to('InitializeService'); } /** * Grants permission to issue a client certificate * * Access Level: Write * * https://docs.aws.amazon.com/mgn/latest/ug/mgn-apis.html */ toIssueClientCertificateForMgn() { return this.to('IssueClientCertificateForMgn'); } /** * Grants permission to list application summaries * * Access Level: List * * https://docs.aws.amazon.com/mgn/latest/APIReference/API_ListApplications.html */ toListApplications() { return this.to('ListApplications'); } /** * Grants permission to list connectors * * Access Level: Read * * https://docs.aws.amazon.com/mgn/latest/APIReference/API_ListConnectors.html */ toListConnectors() { return this.to('ListConnectors'); } /** * Grants permission to list the errors of an export task * * Access Level: List * * https://docs.aws.amazon.com/mgn/latest/APIReference/API_ListExportErrors.html */ toListExportErrors() { return this.to('ListExportErrors'); } /** * Grants permission to list export tasks * * Access Level: List * * https://docs.aws.amazon.com/mgn/latest/APIReference/API_ListExports.html */ toListExports() { return this.to('ListExports'); } /** * Grants permission to list the errors of an import task * * Access Level: List * * https://docs.aws.amazon.com/mgn/latest/APIReference/API_ListImportErrors.html */ toListImportErrors() { return this.to('ListImportErrors'); } /** * Grants permission to list the import tasks * * Access Level: List * * https://docs.aws.amazon.com/mgn/latest/APIReference/API_ListImports.html */ toListImports() { return this.to('ListImports'); } /** * Grants permission to list managed accounts * * Access Level: List * * https://docs.aws.amazon.com/mgn/latest/APIReference/API_ListManagedAccounts.html */ toListManagedAccounts() { return this.to('ListManagedAccounts'); } /** * Grants permission to list source server action documents * * Access Level: List * * https://docs.aws.amazon.com/mgn/latest/APIReference/API_ListSourceServerActions.html */ toListSourceServerActions() { return this.to('ListSourceServerActions'); } /** * Grants permission to list tags for a resource * * Access Level: Read * * https://docs.aws.amazon.com/mgn/latest/APIReference/API_ListTagsForResource.html */ toListTagsForResource() { return this.to('ListTagsForResource'); } /** * Grants permission to list launch configuration template action documents * * Access Level: List * * https://docs.aws.amazon.com/mgn/latest/APIReference/API_ListTemplateActions.html */ toListTemplateActions() { return this.to('ListTemplateActions'); } /** * Grants permission to list wave summaries * * Access Level: List * * https://docs.aws.amazon.com/mgn/latest/APIReference/API_ListWaves.html */ toListWaves() { return this.to('ListWaves'); } /** * Grants permission to mark source server as archived * * Access Level: Write * * https://docs.aws.amazon.com/mgn/latest/APIReference/API_MarkAsArchived.html */ toMarkAsArchived() { return this.to('MarkAsArchived'); } /** * Grants permission to notify agent authentication * * Access Level: Write * * https://docs.aws.amazon.com/mgn/latest/ug/mgn-apis.html */ toNotifyAgentAuthenticationForMgn() { return this.to('NotifyAgentAuthenticationForMgn'); } /** * Grants permission to notify agent is connected * * Access Level: Write * * https://docs.aws.amazon.com/mgn/latest/ug/mgn-apis.html */ toNotifyAgentConnectedForMgn() { return this.to('NotifyAgentConnectedForMgn'); } /** * Grants permission to notify agent is disconnected * * Access Level: Write * * https://docs.aws.amazon.com/mgn/latest/ug/mgn-apis.html */ toNotifyAgentDisconnectedForMgn() { return this.to('NotifyAgentDisconnectedForMgn'); } /** * Grants permission to notify agent replication progress * * Access Level: Write * * https://docs.aws.amazon.com/mgn/latest/ug/mgn-apis.html */ toNotifyAgentReplicationProgressForMgn() { return this.to('NotifyAgentReplicationProgressForMgn'); } /** * Grants permission to notify vcenter client started * * Access Level: Write * * https://docs.aws.amazon.com/mgn/latest/ug/mgn-apis.html */ toNotifyVcenterClientStartedForMgn() { return this.to('NotifyVcenterClientStartedForMgn'); } /** * Grants permission to pause replication * * Access Level: Write * * https://docs.aws.amazon.com/mgn/latest/APIReference/API_PauseReplication.html */ toPauseReplication() { return this.to('PauseReplication'); } /** * Grants permission to put source server action document * * Access Level: Write * * https://docs.aws.amazon.com/mgn/latest/APIReference/API_PutSourceServerAction.html */ toPutSourceServerAction() { return this.to('PutSourceServerAction'); } /** * Grants permission to put launch configuration template action document * * Access Level: Write * * https://docs.aws.amazon.com/mgn/latest/APIReference/API_PutTemplateAction.html */ toPutTemplateAction() { return this.to('PutTemplateAction'); } /** * Grants permission to register agent * * Access Level: Write * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/mgn/latest/ug/mgn-apis.html */ toRegisterAgentForMgn() { return this.to('RegisterAgentForMgn'); } /** * Grants permission to remove source server action document * * Access Level: Write * * https://docs.aws.amazon.com/mgn/latest/APIReference/API_RemoveSourceServerAction.html */ toRemoveSourceServerAction() { return this.to('RemoveSourceServerAction'); } /** * Grants permission to remove launch configuration template action document * * Access Level: Write * * https://docs.aws.amazon.com/mgn/latest/APIReference/API_RemoveTemplateAction.html */ toRemoveTemplateAction() { return this.to('RemoveTemplateAction'); } /** * Grants permission to resume replication * * Access Level: Write * * https://docs.aws.amazon.com/mgn/latest/APIReference/API_ResumeReplication.html */ toResumeReplication() { return this.to('ResumeReplication'); } /** * Grants permission to retry replication * * Access Level: Write * * https://docs.aws.amazon.com/mgn/latest/APIReference/API_RetryDataReplication.html */ toRetryDataReplication() { return this.to('RetryDataReplication'); } /** * Grants permission to send agent logs * * Access Level: Write * * https://docs.aws.amazon.com/mgn/latest/ug/mgn-apis.html */ toSendAgentLogsForMgn() { return this.to('SendAgentLogsForMgn'); } /** * Grants permission to send agent metrics * * Access Level: Write * * https://docs.aws.amazon.com/mgn/latest/ug/mgn-apis.html */ toSendAgentMetricsForMgn() { return this.to('SendAgentMetricsForMgn'); } /** * Grants permission to send channel command result * * Access Level: Write * * https://docs.aws.amazon.com/mgn/latest/ug/mgn-apis.html */ toSendChannelCommandResultForMgn() { return this.to('SendChannelCommandResultForMgn'); } /** * Grants permission to send client logs * * Access Level: Write * * https://docs.aws.amazon.com/mgn/latest/ug/mgn-apis.html */ toSendClientLogsForMgn() { return this.to('SendClientLogsForMgn'); } /** * Grants permission to send client metrics * * Access Level: Write * * https://docs.aws.amazon.com/mgn/latest/ug/mgn-apis.html */ toSendClientMetricsForMgn() { return this.to('SendClientMetricsForMgn'); } /** * Grants permission to send vcenter client command result * * Access Level: Write * * https://docs.aws.amazon.com/mgn/latest/ug/mgn-apis.html */ toSendVcenterClientCommandResultForMgn() { return this.to('SendVcenterClientCommandResultForMgn'); } /** * Grants permission to send vcenter client logs * * Access Level: Write * * https://docs.aws.amazon.com/mgn/latest/ug/mgn-apis.html */ toSendVcenterClientLogsForMgn() { return this.to('SendVcenterClientLogsForMgn'); } /** * Grants permission to send vcenter client metrics * * Access Level: Write * * https://docs.aws.amazon.com/mgn/latest/ug/mgn-apis.html */ toSendVcenterClientMetricsForMgn() { return this.to('SendVcenterClientMetricsForMgn'); } /** * Grants permission to start cutover * * Access Level: Write * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * Dependent actions: * - ec2:AttachVolume * - ec2:AuthorizeSecurityGroupEgress * - ec2:AuthorizeSecurityGroupIngress * - ec2:CreateLaunchTemplate * - ec2:CreateLaunchTemplateVersion * - ec2:CreateSecurityGroup * - 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:ReportInstanceStatus * - ec2:RevokeSecurityGroupEgress * - ec2:RunInstances * - ec2:StartInstances * - ec2:StopInstances * - ec2:TerminateInstances * - iam:PassRole * - mgn:ListTagsForResource * * https://docs.aws.amazon.com/mgn/latest/APIReference/API_StartCutover.html */ toStartCutover() { return this.to('StartCutover'); } /** * Grants permission to start an export task * * Access Level: Write * * Dependent actions: * - ec2:DescribeLaunchTemplateVersions * - mgn:DescribeSourceServers * - mgn:GetLaunchConfiguration * - mgn:ListApplications * - mgn:ListWaves * - s3:PutObject * * https://docs.aws.amazon.com/mgn/latest/APIReference/API_StartExport.html */ toStartExport() { return this.to('StartExport'); } /** * Grants permission to create an import task * * Access Level: Write * * Dependent actions: * - ec2:CreateLaunchTemplateVersion * - ec2:DescribeLaunchTemplateVersions * - ec2:ModifyLaunchTemplate * - mgn:DescribeSourceServers * - mgn:GetLaunchConfiguration * - mgn:ListApplications * - mgn:ListWaves * - mgn:TagResource * - mgn:UpdateLaunchConfiguration * - s3:PutObject * * https://docs.aws.amazon.com/mgn/latest/APIReference/API_StartImport.html */ toStartImport() { return this.to('StartImport'); } /** * Grants permission to start replication * * Access Level: Write * * https://docs.aws.amazon.com/mgn/latest/APIReference/API_StartReplication.html */ toStartReplication() { return this.to('StartReplication'); } /** * Grants permission to start test * * Access Level: Write * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * Dependent actions: * - ec2:AttachVolume * - ec2:AuthorizeSecurityGroupEgress * - ec2:AuthorizeSecurityGroupIngress * - ec2:CreateLaunchTemplate * - ec2:CreateLaunchTemplateVersion * - ec2:CreateSecurityGroup * - 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:ReportInstanceStatus * - ec2:RevokeSecurityGroupEgress * - ec2:RunInstances * - ec2:StartInstances * - ec2:StopInstances * - ec2:TerminateInstances * - iam:PassRole * - mgn:ListTagsForResource * * https://docs.aws.amazon.com/mgn/latest/APIReference/API_StartTest.html */ toStartTest() { return this.to('StartTest'); } /** * Grants permission to stop replication * * Access Level: Write * * https://docs.aws.amazon.com/mgn/latest/APIReference/API_StopReplication.html */ toStopReplication() { return this.to('StopReplication'); } /** * Grants permission to assign a resource tag * * Access Level: Tagging * * Possible conditions: * - .ifAwsRequestTag() * - .ifCreateAction() * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/mgn/latest/APIReference/API_TagResource.html */ toTagResource() { return this.to('TagResource'); } /** * Grants permission to terminate target instances * * Access Level: Write * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * Dependent actions: * - ec2:DeleteVolume * - ec2:DescribeInstances * - ec2:DescribeVolumes * - ec2:TerminateInstances * * https://docs.aws.amazon.com/mgn/latest/APIReference/API_TerminateTargetInstances.html */ toTerminateTargetInstances() { return this.to('TerminateTargetInstances'); } /** * Grants permission to unarchive an application * * Access Level: Write * * https://docs.aws.amazon.com/mgn/latest/APIReference/API_UnarchiveApplication.html */ toUnarchiveApplication() { return this.to('UnarchiveApplication'); } /** * Grants permission to unarchive a wave * * Access Level: Write * * https://docs.aws.amazon.com/mgn/latest/APIReference/API_UnarchiveWave.html */ toUnarchiveWave() { return this.to('UnarchiveWave'); } /** * Grants permission to untag a resource * * Access Level: Tagging * * Possible conditions: * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/mgn/latest/APIReference/API_UntagResource.html */ toUntagResource() { return this.to('UntagResource'); } /** * Grants permission to update agent backlog * * Access Level: Write * * https://docs.aws.amazon.com/mgn/latest/ug/mgn-apis.html */ toUpdateAgentBacklogForMgn() { return this.to('UpdateAgentBacklogForMgn'); } /** * Grants permission to update agent conversion info * * Access Level: Write * * https://docs.aws.amazon.com/mgn/latest/ug/mgn-apis.html */ toUpdateAgentConversionInfoForMgn() { return this.to('UpdateAgentConversionInfoForMgn'); } /** * Grants permission to update agent replication info * * Access Level: Write * * https://docs.aws.amazon.com/mgn/latest/ug/mgn-apis.html */ toUpdateAgentReplicationInfoForMgn() { return this.to('UpdateAgentReplicationInfoForMgn'); } /** * Grants permission to update agent replication process state * * Access Level: Write * * https://docs.aws.amazon.com/mgn/latest/ug/mgn-apis.html */ toUpdateAgentReplicationProcessStateForMgn() { return this.to('UpdateAgentReplicationProcessStateForMgn'); } /** * Grants permission to update agent source properties * * Access Level: Write * * https://docs.aws.amazon.com/mgn/latest/ug/mgn-apis.html */ toUpdateAgentSourcePropertiesForMgn() { return this.to('UpdateAgentSourcePropertiesForMgn'); } /** * Grants permission to update an application * * Access Level: Write * * https://docs.aws.amazon.com/mgn/latest/APIReference/API_UpdateApplication.html */ toUpdateApplication() { return this.to('UpdateApplication'); } /** * Grants permission to update connector * * Access Level: Write * * https://docs.aws.amazon.com/mgn/latest/APIReference/API_UpdateConnector.html */ toUpdateConnector() { return this.to('UpdateConnector'); } /** * Grants permission to update launch configuration * * Access Level: Write * * https://docs.aws.amazon.com/mgn/latest/APIReference/API_UpdateLaunchConfiguration.html */ toUpdateLaunchConfiguration() { return this.to('UpdateLaunchConfiguration'); } /** * Grants permission to update launch configuration * * Access Level: Write * * https://docs.aws.amazon.com/mgn/latest/APIReference/API_UpdateLaunchConfigurationTemplate.html */ toUpdateLaunchConfigurationTemplate() { return this.to('UpdateLaunchConfigurationTemplate'); } /** * Grants permission to update replication configuration * * Access Level: Write * * https://docs.aws.amazon.com/mgn/latest/APIReference/API_UpdateReplicationConfiguration.html */ toUpdateReplicationConfiguration() { return this.to('UpdateReplicationConfiguration'); } /** * Grants permission to update replication configuration template * * Access Level: Write * * https://docs.aws.amazon.com/mgn/latest/APIReference/API_UpdateReplicationConfigurationTemplate.html */ toUpdateReplicationConfigurationTemplate() { return this.to('UpdateReplicationConfigurationTemplate'); } /** * Grants permission to update source server * * Access Level: Write * * https://docs.aws.amazon.com/mgn/latest/APIReference/API_UpdateSourceServer.html */ toUpdateSourceServer() { return this.to('UpdateSourceServer'); } /** * Grants permission to update source server replication type * * Access Level: Write * * https://docs.aws.amazon.com/mgn/latest/APIReference/API_UpdateSourceServerReplicationType.html */ toUpdateSourceServerReplicationType() { return this.to('UpdateSourceServerReplicationType'); } /** * Grants permission to update a wave * * Access Level: Write * * https://docs.aws.amazon.com/mgn/latest/APIReference/API_UpdateWave.html */ toUpdateWave() { return this.to('UpdateWave'); } /** * Grants permission to verify client role * * Access Level: Read * * https://docs.aws.amazon.com/mgn/latest/ug/mgn-apis.html */ toVerifyClientRoleForMgn() { return this.to('VerifyClientRoleForMgn'); } /** * Adds a resource of type JobResource to the statement * * https://docs.aws.amazon.com/mgn/latest/ug/launching-target-servers.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}:mgn:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:job/${jobID}`); } /** * Adds a resource of type ReplicationConfigurationTemplateResource to the statement * * https://docs.aws.amazon.com/mgn/latest/ug/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}:mgn:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:replication-configuration-template/${replicationConfigurationTemplateID}`); } /** * Adds a resource of type LaunchConfigurationTemplateResource to the statement * * https://docs.aws.amazon.com/mgn/latest/ug/post-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}:mgn:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:launch-configuration-template/${launchConfigurationTemplateID}`); } /** * Adds a resource of type VcenterClientResource to the statement * * https://docs.aws.amazon.com/mgn/latest/ug/agentless-mgn.html * * @param vcenterClientID - Identifier for the vcenterClientID. * @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() */ onVcenterClientResource(vcenterClientID, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:mgn:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:vcenter-client/${vcenterClientID}`); } /** * Adds a resource of type SourceServerResource to the statement * * https://docs.aws.amazon.com/mgn/latest/ug/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}:mgn:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:source-server/${sourceServerID}`); } /** * Adds a resource of type ApplicationResource to the statement * * https://docs.aws.amazon.com/mgn/latest/ug/applications.html * * @param applicationID - Identifier for the applicationID. * @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() */ onApplicationResource(applicationID, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:mgn:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:application/${applicationID}`); } /** * Adds a resource of type WaveResource to the statement * * https://docs.aws.amazon.com/mgn/latest/ug/waves.html * * @param waveID - Identifier for the waveID. * @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() */ onWaveResource(waveID, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:mgn:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:wave/${waveID}`); } /** * Adds a resource of type ImportResource to the statement * * https://docs.aws.amazon.com/mgn/latest/ug/imports.html * * @param importID - Identifier for the importID. * @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() */ onImportResource(importID, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:mgn:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:import/${importID}`); } /** * Adds a resource of type ExportResource to the statement * * https://docs.aws.amazon.com/mgn/latest/ug/exports.html * * @param exportID - Identifier for the exportID. * @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() */ onExportResource(exportID, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:mgn:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:export/${exportID}`); } /** * Adds a resource of type ConnectorResource to the statement * * https://docs.aws.amazon.com/mgn/latest/ug/connectors.html * * @param connectorID - Identifier for the connectorID. * @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() */ onConnectorResource(connectorID, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:mgn:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:connector/${connectorID}`); } /** * Filters access by 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: * - .toCreateApplication() * - .toCreateConnector() * - .toCreateLaunchConfigurationTemplate() * - .toCreateReplicationConfigurationTemplate() * - .toCreateVcenterClientForMgn() * - .toCreateWave() * - .toRegisterAgentForMgn() * - .toStartCutover() * - .toStartTest() * - .toTagResource() * - .toTerminateTargetInstances() * * @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 * - ReplicationConfigurationTemplateResource * - LaunchConfigurationTemplateResource * - VcenterClientResource * - SourceServerResource * - ApplicationResource * - WaveResource * - ImportResource * - ExportResource * - ConnectorResource * * @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 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: * - .toCreateApplication() * - .toCreateConnector() * - .toCreateLaunchConfigurationTemplate() * - .toCreateReplicationConfigurationTemplate() * - .toCreateVcenterClientForMgn() * - .toCreateWave() * - .toRegisterAgentForMgn() * - .toStartCutover() * - .toStartTest() * - .toTagResource() * - .toTerminateTargetInstances() * - .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/mgn/latest/ug/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'); } /** * Statement provider for service [mgn](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsapplicationmigrationservice.html). * */ constructor(props) { super(props); this.servicePrefix = 'mgn'; this.accessLevelList = { Write: [ 'ArchiveApplication', 'ArchiveWave', 'AssociateApplications', 'AssociateSourceServers', 'BatchCreateVolumeSnapshotGroupForMgn', 'BatchDeleteSnapshotRequestForMgn', 'ChangeServerLifeCycleState', 'CreateApplication', 'CreateConnector', 'CreateLaunchConfigurationTemplate', 'CreateReplicationConfigurationTemplate', 'CreateVcenterClientForMgn', 'CreateWave', 'DeleteApplication', 'DeleteConnector', 'DeleteJob', 'DeleteLaunchConfigurationTemplate', 'DeleteReplicationConfigurationTemplate', 'DeleteSourceServer', 'DeleteVcenterClient', 'DeleteWave', 'DisassociateApplications', 'DisassociateSourceServers', 'DisconnectFromService', 'FinalizeCutover', 'InitializeService', 'IssueClientCertificateForMgn', 'MarkAsArchived', 'NotifyAgentAuthenticationForMgn', 'NotifyAgentConnectedForMgn', 'NotifyAgentDisconnectedForMgn', 'NotifyAgentReplicationProgressForMgn', 'NotifyVcenterClientStartedForMgn', 'PauseReplication', 'PutSourceServerAction', 'PutTemplateAction', 'RegisterAgentForMgn', 'RemoveSourceServerAction', 'RemoveTemplateAction', 'ResumeReplication', 'RetryDataReplication', 'SendAgentLogsForMgn', 'SendAgentMetricsForMgn', 'SendChannelComm