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); }
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"); } }
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); }
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); }