cdk-iam-floyd
Version:
AWS IAM policy statement generator with fluent interface for AWS CDK
1,507 lines • 140 kB
JavaScript
"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