import { AccessLevelList } from '../shared/access-level' ; import { PolicyStatement , Operator } from '../shared' ; param sid export class Dms extends PolicyStatement { public servicePrefix = 'dms' ; param sid constructor ( sid ? ) { super ( sid ) ; } /**
     * Grants permission to add metadata tags to DMS resources, including replication instances, endpoints, security groups, and migration tasks
     *
     * Access Level: Tagging
     *
     * Possible conditions:
     * - .ifAwsRequestTag()
     * - .ifAwsTagKeys()
     * - .ifReqTag()
     *
     * https://docs.aws.amazon.com/dms/latest/APIReference/API_AddTagsToResource.html
     */ public toAddTagsToResource ( ) { return this . to ( 'AddTagsToResource' ) ; } /**
     * Grants permission to apply a pending maintenance action to a resource (for example, to a replication instance)
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/dms/latest/APIReference/API_ApplyPendingMaintenanceAction.html
     */ public toApplyPendingMaintenanceAction ( ) { return this . to ( 'ApplyPendingMaintenanceAction' ) ; } /**
     * Grants permission to cancel a single premigration assessment run
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/dms/latest/APIReference/API_CancelReplicationTaskAssessmentRun.html
     */ public toCancelReplicationTaskAssessmentRun ( ) { return this . to ( 'CancelReplicationTaskAssessmentRun' ) ; } /**
     * Grants permission to create an endpoint using the provided settings
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifAwsRequestTag()
     * - .ifAwsTagKeys()
     * - .ifReqTag()
     *
     * https://docs.aws.amazon.com/dms/latest/APIReference/API_CreateEndpoint.html
     */ public toCreateEndpoint ( ) { return this . to ( 'CreateEndpoint' ) ; } /**
     * Grants permission to create an AWS DMS event notification subscription
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifAwsRequestTag()
     * - .ifAwsTagKeys()
     * - .ifReqTag()
     *
     * https://docs.aws.amazon.com/dms/latest/APIReference/API_CreateEventSubscription.html
     */ public toCreateEventSubscription ( ) { return this . to ( 'CreateEventSubscription' ) ; } /**
     * Grants permission to create a replication instance using the specified parameters
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifAwsRequestTag()
     * - .ifAwsTagKeys()
     * - .ifReqTag()
     *
     * https://docs.aws.amazon.com/dms/latest/APIReference/API_CreateReplicationInstance.html
     */ public toCreateReplicationInstance ( ) { return this . to ( 'CreateReplicationInstance' ) ; } /**
     * Grants permission to create a replication subnet group given a list of the subnet IDs in a VPC
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifAwsRequestTag()
     * - .ifAwsTagKeys()
     * - .ifReqTag()
     *
     * https://docs.aws.amazon.com/dms/latest/APIReference/API_CreateReplicationSubnetGroup.html
     */ public toCreateReplicationSubnetGroup ( ) { return this . to ( 'CreateReplicationSubnetGroup' ) ; } /**
     * Grants permission to create a replication task using the specified parameters
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifAwsRequestTag()
     * - .ifAwsTagKeys()
     * - .ifReqTag()
     *
     * https://docs.aws.amazon.com/dms/latest/APIReference/API_CreateReplicationTask.html
     */ public toCreateReplicationTask ( ) { return this . to ( 'CreateReplicationTask' ) ; } /**
     * Grants permission to delete the specified certificate
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/dms/latest/APIReference/API_DeleteCertificate.html
     */ public toDeleteCertificate ( ) { return this . to ( 'DeleteCertificate' ) ; } /**
     * Grants permission to delete the specified connection between a replication instance and an endpoint
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/dms/latest/APIReference/API_DeleteConnection.html
     */ public toDeleteConnection ( ) { return this . to ( 'DeleteConnection' ) ; } /**
     * Grants permission to delete the specified endpoint
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/dms/latest/APIReference/API_DeleteEndpoint.html
     */ public toDeleteEndpoint ( ) { return this . to ( 'DeleteEndpoint' ) ; } /**
     * Grants permission to delete an AWS DMS event subscription
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/dms/latest/APIReference/API_DeleteEventSubscription.html
     */ public toDeleteEventSubscription ( ) { return this . to ( 'DeleteEventSubscription' ) ; } /**
     * Grants permission to delete the specified replication instance
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/dms/latest/APIReference/API_DeleteReplicationInstance.html
     */ public toDeleteReplicationInstance ( ) { return this . to ( 'DeleteReplicationInstance' ) ; } /**
     * Grants permission to deletes a subnet group
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/dms/latest/APIReference/API_DeleteReplicationSubnetGroup.html
     */ public toDeleteReplicationSubnetGroup ( ) { return this . to ( 'DeleteReplicationSubnetGroup' ) ; } /**
     * Grants permission to delete the specified replication task
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/dms/latest/APIReference/API_DeleteReplicationTask.html
     */ public toDeleteReplicationTask ( ) { return this . to ( 'DeleteReplicationTask' ) ; } /**
     * Grants permission to delete the record of a single premigration assessment run
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/dms/latest/APIReference/API_DeleteReplicationTaskAssessmentRun.html
     */ public toDeleteReplicationTaskAssessmentRun ( ) { return this . to ( 'DeleteReplicationTaskAssessmentRun' ) ; } /**
     * Grants permission to list all of the AWS DMS attributes for a customer account
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/dms/latest/APIReference/API_DescribeAccountAttributes.html
     */ public toDescribeAccountAttributes ( ) { return this . to ( 'DescribeAccountAttributes' ) ; } /**
     * Grants permission to list individual assessments that you can specify for a new premigration assessment run
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/dms/latest/APIReference/API_DescribeApplicableIndividualAssessments.html
     */ public toDescribeApplicableIndividualAssessments ( ) { return this . to ( 'DescribeApplicableIndividualAssessments' ) ; } /**
     * Grants permission to provide a description of the certificate
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/dms/latest/APIReference/API_DescribeCertificates.html
     */ public toDescribeCertificates ( ) { return this . to ( 'DescribeCertificates' ) ; } /**
     * Grants permission to describe the status of the connections that have been made between the replication instance and an endpoint
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/dms/latest/APIReference/API_DescribeConnections.html
     */ public toDescribeConnections ( ) { return this . to ( 'DescribeConnections' ) ; } /**
     * Grants permission to return the possible endpoint settings available when you create an endpoint for a specific database engine
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/dms/latest/APIReference/API_DescribeEndpointSettings.html
     */ public toDescribeEndpointSettings ( ) { return this . to ( 'DescribeEndpointSettings' ) ; } /**
     * Grants permission to return information about the type of endpoints available
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/dms/latest/APIReference/API_DescribeEndpointTypes.html
     */ public toDescribeEndpointTypes ( ) { return this . to ( 'DescribeEndpointTypes' ) ; } /**
     * Grants permission to return information about the endpoints for your account in the current region
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/dms/latest/APIReference/API_DescribeEndpoints.html
     */ public toDescribeEndpoints ( ) { return this . to ( 'DescribeEndpoints' ) ; } /**
     * Grants permission to list categories for all event source types, or, if specified, for a specified source type
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/dms/latest/APIReference/API_DescribeEventCategories.html
     */ public toDescribeEventCategories ( ) { return this . to ( 'DescribeEventCategories' ) ; } /**
     * Grants permission to list all the event subscriptions for a customer account
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/dms/latest/APIReference/API_DescribeEventSubscriptions.html
     */ public toDescribeEventSubscriptions ( ) { return this . to ( 'DescribeEventSubscriptions' ) ; } /**
     * Grants permission to list events for a given source identifier and source type
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/dms/latest/APIReference/API_DescribeEvents.html
     */ public toDescribeEvents ( ) { return this . to ( 'DescribeEvents' ) ; } /**
     * Grants permission to return information about the replication instance types that can be created in the specified region
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/dms/latest/APIReference/API_DescribeOrderableReplicationInstances.html
     */ public toDescribeOrderableReplicationInstances ( ) { return this . to ( 'DescribeOrderableReplicationInstances' ) ; } /**
     * Grants permission to returns the status of the RefreshSchemas operation
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/dms/latest/APIReference/API_DescribeRefreshSchemasStatus.html
     */ public toDescribeRefreshSchemasStatus ( ) { return this . to ( 'DescribeRefreshSchemasStatus' ) ; } /**
     * Grants permission to return information about the task logs for the specified task
     *
     * Access Level: Read
     *
     * Possible conditions:
     * - .ifAwsResourceTag()
     * - .ifAwsTagKeys()
     *
     * https://docs.aws.amazon.com/dms/latest/APIReference/API_DescribeReplicationInstanceTaskLogs.html
     */ public toDescribeReplicationInstanceTaskLogs ( ) { return this . to ( 'DescribeReplicationInstanceTaskLogs' ) ; } /**
     * Grants permission to return information about replication instances for your account in the current region
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/dms/latest/APIReference/API_DescribeReplicationInstances.html
     */ public toDescribeReplicationInstances ( ) { return this . to ( 'DescribeReplicationInstances' ) ; } /**
     * Grants permission to return information about the replication subnet groups
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/dms/latest/APIReference/API_DescribeReplicationSubnetGroups.html
     */ public toDescribeReplicationSubnetGroups ( ) { return this . to ( 'DescribeReplicationSubnetGroups' ) ; } /**
     * Grants permission to return the latest task assessment results from Amazon S3
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/dms/latest/APIReference/API_DescribeReplicationTaskAssessmentResults.html
     */ public toDescribeReplicationTaskAssessmentResults ( ) { return this . to ( 'DescribeReplicationTaskAssessmentResults' ) ; } /**
     * Grants permission to return a paginated list of premigration assessment runs based on filter settings
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/dms/latest/APIReference/API_DescribeReplicationTaskAssessmentRuns.html
     */ public toDescribeReplicationTaskAssessmentRuns ( ) { return this . to ( 'DescribeReplicationTaskAssessmentRuns' ) ; } /**
     * Grants permission to return a paginated list of individual assessments based on filter settings
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/dms/latest/APIReference/API_DescribeReplicationTaskIndividualAssessments.html
     */ public toDescribeReplicationTaskIndividualAssessments ( ) { return this . to ( 'DescribeReplicationTaskIndividualAssessments' ) ; } /**
     * Grants permission to return information about replication tasks for your account in the current region
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/dms/latest/APIReference/API_DescribeReplicationTasks.html
     */ public toDescribeReplicationTasks ( ) { return this . to ( 'DescribeReplicationTasks' ) ; } /**
     * Grants permission to return information about the schema for the specified endpoint
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/dms/latest/APIReference/API_DescribeSchemas.html
     */ public toDescribeSchemas ( ) { return this . to ( 'DescribeSchemas' ) ; } /**
     * Grants permission to return table statistics on the database migration task, including table name, rows inserted, rows updated, and rows deleted
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/dms/latest/APIReference/API_DescribeTableStatistics.html
     */ public toDescribeTableStatistics ( ) { return this . to ( 'DescribeTableStatistics' ) ; } /**
     * Grants permission to upload the specified certificate
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifAwsRequestTag()
     * - .ifAwsTagKeys()
     *
     * https://docs.aws.amazon.com/dms/latest/APIReference/API_ImportCertificate.html
     */ public toImportCertificate ( ) { return this . to ( 'ImportCertificate' ) ; } /**
     * Grants permission to list all tags for an AWS DMS resource
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/dms/latest/APIReference/API_ListTagsForResource.html
     */ public toListTagsForResource ( ) { return this . to ( 'ListTagsForResource' ) ; } /**
     * Grants permission to modify the specified endpoint
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/dms/latest/APIReference/API_ModifyEndpoint.html
     */ public toModifyEndpoint ( ) { return this . to ( 'ModifyEndpoint' ) ; } /**
     * Grants permission to modify an existing AWS DMS event notification subscription
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/dms/latest/APIReference/API_ModifyEventSubscription.html
     */ public toModifyEventSubscription ( ) { return this . to ( 'ModifyEventSubscription' ) ; } /**
     * Grants permission to modify the replication instance to apply new settings
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/dms/latest/APIReference/API_ModifyReplicationInstance.html
     */ public toModifyReplicationInstance ( ) { return this . to ( 'ModifyReplicationInstance' ) ; } /**
     * Grants permission to modify the settings for the specified replication subnet group
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/dms/latest/APIReference/API_ModifyReplicationSubnetGroup.html
     */ public toModifyReplicationSubnetGroup ( ) { return this . to ( 'ModifyReplicationSubnetGroup' ) ; } /**
     * Grants permission to modify the specified replication task
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/dms/latest/APIReference/API_ModifyReplicationTask.html
     */ public toModifyReplicationTask ( ) { return this . to ( 'ModifyReplicationTask' ) ; } /**
     * Grants permission to move the specified replication task to a different replication instance
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/dms/latest/APIReference/API_MoveReplicationTask.html
     */ public toMoveReplicationTask ( ) { return this . to ( 'MoveReplicationTask' ) ; } /**
     * Grants permission to reboot a replication instance. Rebooting results in a momentary outage, until the replication instance becomes available again
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/dms/latest/APIReference/API_RebootReplicationInstance.html
     */ public toRebootReplicationInstance ( ) { return this . to ( 'RebootReplicationInstance' ) ; } /**
     * Grants permission to populate the schema for the specified endpoint
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/dms/latest/APIReference/API_RefreshSchemas.html
     */ public toRefreshSchemas ( ) { return this . to ( 'RefreshSchemas' ) ; } /**
     * Grants permission to reload the target database table with the source data
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/dms/latest/APIReference/API_ReloadTables.html
     */ public toReloadTables ( ) { return this . to ( 'ReloadTables' ) ; } /**
     * Grants permission to remove metadata tags from a DMS resource
     *
     * Access Level: Tagging
     *
     * Possible conditions:
     * - .ifAwsTagKeys()
     *
     * https://docs.aws.amazon.com/dms/latest/APIReference/API_RemoveTagsFromResource.html
     */ public toRemoveTagsFromResource ( ) { return this . to ( 'RemoveTagsFromResource' ) ; } /**
     * Grants permission to start the replication task
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/dms/latest/APIReference/API_StartReplicationTask.html
     */ public toStartReplicationTask ( ) { return this . to ( 'StartReplicationTask' ) ; } /**
     * Grants permission to start the replication task assessment for unsupported data types in the source database
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/dms/latest/APIReference/API_StartReplicationTaskAssessment.html
     */ public toStartReplicationTaskAssessment ( ) { return this . to ( 'StartReplicationTaskAssessment' ) ; } /**
     * Grants permission to start a new premigration assessment run for one or more individual assessments of a migration task
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/dms/latest/APIReference/API_StartReplicationTaskAssessmentRun.html
     */ public toStartReplicationTaskAssessmentRun ( ) { return this . to ( 'StartReplicationTaskAssessmentRun' ) ; } /**
     * Grants permission to stop the replication task
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/dms/latest/APIReference/API_StopReplicationTask.html
     */ public toStopReplicationTask ( ) { return this . to ( 'StopReplicationTask' ) ; } /**
     * Grants permission to test the connection between the replication instance and the endpoint
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/dms/latest/APIReference/API_TestConnection.html
     */ public toTestConnection ( ) { return this . to ( 'TestConnection' ) ; } protected accessLevelList : AccessLevelList = { Tagging : [ 'AddTagsToResource' , 'RemoveTagsFromResource' ] , Write : [ 'ApplyPendingMaintenanceAction' , 'CancelReplicationTaskAssessmentRun' , 'CreateEndpoint' , 'CreateEventSubscription' , 'CreateReplicationInstance' , 'CreateReplicationSubnetGroup' , 'CreateReplicationTask' , 'DeleteCertificate' , 'DeleteConnection' , 'DeleteEndpoint' , 'DeleteEventSubscription' , 'DeleteReplicationInstance' , 'DeleteReplicationSubnetGroup' , 'DeleteReplicationTask' , 'DeleteReplicationTaskAssessmentRun' , 'ImportCertificate' , 'ModifyEndpoint' , 'ModifyEventSubscription' , 'ModifyReplicationInstance' , 'ModifyReplicationSubnetGroup' , 'ModifyReplicationTask' , 'MoveReplicationTask' , 'RebootReplicationInstance' , 'RefreshSchemas' , 'ReloadTables' , 'StartReplicationTask' , 'StartReplicationTaskAssessment' , 'StartReplicationTaskAssessmentRun' , 'StopReplicationTask' ] , Read : [ 'DescribeAccountAttributes' , 'DescribeApplicableIndividualAssessments' , 'DescribeCertificates' , 'DescribeConnections' , 'DescribeEndpointSettings' , 'DescribeEndpointTypes' , 'DescribeEndpoints' , 'DescribeEventCategories' , 'DescribeEventSubscriptions' , 'DescribeEvents' , 'DescribeOrderableReplicationInstances' , 'DescribeRefreshSchemasStatus' , 'DescribeReplicationInstanceTaskLogs' , 'DescribeReplicationInstances' , 'DescribeReplicationSubnetGroups' , 'DescribeReplicationTaskAssessmentResults' , 'DescribeReplicationTaskAssessmentRuns' , 'DescribeReplicationTaskIndividualAssessments' , 'DescribeReplicationTasks' , 'DescribeSchemas' , 'DescribeTableStatistics' , 'ListTagsForResource' , 'TestConnection' ] } ; param resourceName param account param region param partition public onCertificate ( resourceName , account ? , region ? , partition ? ) { return this . on ( `arn:${ partition || 'aws' }:dms:${ region || '*' }:${ account || '*' }:cert:${ resourceName }` ) ; } param resourceName param account param region param partition public onEndpoint ( resourceName , account ? , region ? , partition ? ) { return this . on ( `arn:${ partition || 'aws' }:dms:${ region || '*' }:${ account || '*' }:endpoint:${ resourceName }` ) ; } param resourceName param account param region param partition public onEventSubscription ( resourceName , account ? , region ? , partition ? ) { return this . on ( `arn:${ partition || 'aws' }:dms:${ region || '*' }:${ account || '*' }:es:${ resourceName }` ) ; } param resourceName param account param region param partition public onReplicationInstance ( resourceName , account ? , region ? , partition ? ) { return this . on ( `arn:${ partition || 'aws' }:dms:${ region || '*' }:${ account || '*' }:rep:${ resourceName }` ) ; } param resourceName param account param region param partition public onReplicationSubnetGroup ( resourceName , account ? , region ? , partition ? ) { return this . on ( `arn:${ partition || 'aws' }:dms:${ region || '*' }:${ account || '*' }:subgrp:${ resourceName }` ) ; } param resourceName param account param region param partition public onReplicationTask ( resourceName , account ? , region ? , partition ? ) { return this . on ( `arn:${ partition || 'aws' }:dms:${ region || '*' }:${ account || '*' }:task:${ resourceName }` ) ; } param resourceName param account param region param partition public onReplicationTaskAssessmentRun ( resourceName , account ? , region ? , partition ? ) { return this . on ( `arn:${ partition || 'aws' }:dms:${ region || '*' }:${ account || '*' }:assessment-run:${ resourceName }` ) ; } param resourceName param account param region param partition public onReplicationTaskIndividualAssessment ( resourceName , account ? , region ? , partition ? ) { return this . on ( `arn:${ partition || 'aws' }:dms:${ region || '*' }:${ account || '*' }:individual-assessment:${ resourceName }` ) ; } param tagKey param value param operator public ifCertTag ( tagKey , value , operator ? ) { return this . if ( `cert-tag/${ tagKey }` , value , operator || 'StringLike' ) ; } param tagKey param value param operator public ifEndpointTag ( tagKey , value , operator ? ) { return this . if ( `endpoint-tag/${ tagKey }` , value , operator || 'StringLike' ) ; } param tagKey param value param operator public ifEsTag ( tagKey , value , operator ? ) { return this . if ( `es-tag/${ tagKey }` , value , operator || 'StringLike' ) ; } param tagKey param value param operator public ifRepTag ( tagKey , value , operator ? ) { return this . if ( `rep-tag/${ tagKey }` , value , operator || 'StringLike' ) ; } param tagKey param value param operator public ifReqTag ( tagKey , value , operator ? ) { return this . if ( `req-tag/${ tagKey }` , value , operator || 'StringLike' ) ; } param tagKey param value param operator public ifSubgrpTag ( tagKey , value , operator ? ) { return this . if ( `subgrp-tag/${ tagKey }` , value , operator || 'StringLike' ) ; } param tagKey param value param operator public ifTaskTag ( tagKey , value , operator ? ) { return this . if ( `task-tag/${ tagKey }` , value , operator || 'StringLike' ) ; } }