コード例 #1
0
        public void GetDmsMigrationTaskResources(DmsMigrationTaskOptions dmsMigrationTaskOption, out string sourceEndpointArn, out string targetEndpointArn, out string replicationInstanceARN)
        {
            // Check Migration Type
            CheckMigrationType(dmsMigrationTaskOption);

            // Locate source endpoint id
            sourceEndpointArn = LocateSourceEndpoint(dmsMigrationTaskOption);

            // Locate target endpoint id
            targetEndpointArn = LocateTargetEndpoint(dmsMigrationTaskOption);

            // Locate replication instance id
            replicationInstanceARN = LocateReplicationInstance(dmsMigrationTaskOption);
        }
コード例 #2
0
        private static void CheckMigrationType(DmsMigrationTaskOptions dmsMigrationTaskOption)
        {
            if (!string.IsNullOrWhiteSpace(dmsMigrationTaskOption.MigrationType))
            {
                if (!DmsMigrationTypeConsts.MigrationTypes.Contains(dmsMigrationTaskOption.MigrationType))
                {
                    throw new ArgumentException($"The migration type { dmsMigrationTaskOption.MigrationType } of the dms migration task { dmsMigrationTaskOption.Name } is wrong. It must have one of the next values: { string.Join(", ", DmsMigrationTypeConsts.MigrationTypes) }");
                }
            }
            else
            {
                throw new ArgumentException($"The dms migration task { dmsMigrationTaskOption.Name } must have a migration type");
            }

            // Check Table Mappings
            if (string.IsNullOrWhiteSpace(dmsMigrationTaskOption.TableMappings))
            {
                throw new ArgumentException($"The dms migration task { dmsMigrationTaskOption.Name } must have a table mappings");
            }
        }
コード例 #3
0
        private string LocateReplicationInstance(DmsMigrationTaskOptions dmsMigrationTaskOption)
        {
            string replicationInstanceARN;

            if (!string.IsNullOrWhiteSpace(dmsMigrationTaskOption.ReplicationInstanceId))
            {
                if (!StackResources.DmsReplicationInstances.TryGetValue(dmsMigrationTaskOption.ReplicationInstanceId, out var replicationInstance))
                {
                    throw new ArgumentException($"The replication instance id { dmsMigrationTaskOption.ReplicationInstanceId } of the dms migration task { dmsMigrationTaskOption.Name } was not found");
                }
                else
                {
                    replicationInstanceARN = replicationInstance.Ref;
                }
            }
            else
            {
                throw new ArgumentException($"The dms migration task { dmsMigrationTaskOption.Name } must have a replication instance id");
            }

            return(replicationInstanceARN);
        }
コード例 #4
0
        private string LocateTargetEndpoint(DmsMigrationTaskOptions dmsMigrationTaskOption)
        {
            string targetEndpointArn;

            if (!string.IsNullOrWhiteSpace(dmsMigrationTaskOption.TargetEndpointId))
            {
                if (!StackResources.DmsEndpoints.TryGetValue(dmsMigrationTaskOption.TargetEndpointId, out var targetEndpoint))
                {
                    throw new ArgumentException($"The target endpoint id { dmsMigrationTaskOption.TargetEndpointId } of the dms migration task { dmsMigrationTaskOption.Name } was not found");
                }
                else
                {
                    targetEndpointArn = targetEndpoint.Ref;
                }
            }
            else
            {
                throw new ArgumentException($"The dms migration task { dmsMigrationTaskOption.Name } must have a target endpoint id");
            }

            return(targetEndpointArn);
        }