Skip to content

Commit

Permalink
feat(client-database-migration-service): Adds support for Internet Pr…
Browse files Browse the repository at this point in the history
…otocol Version 6 (IPv6) on DMS Replication Instances
  • Loading branch information
awstools committed Nov 17, 2022
1 parent 1ed217a commit 0528c9c
Show file tree
Hide file tree
Showing 3 changed files with 1,003 additions and 734 deletions.
119 changes: 92 additions & 27 deletions clients/client-database-migration-service/src/models/models_0.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1588,7 +1588,7 @@ export interface OracleSettings {
/**
* <p>When this field is set to <code>Y</code>, DMS only accesses the
* archived redo logs. If the archived redo logs are stored on
* Oracle ASM only, the DMS user account needs to be
* Automatic Storage Management (ASM) only, the DMS user account needs to be
* granted ASM privileges.</p>
*/
ArchivedLogsOnly?: boolean;
Expand Down Expand Up @@ -1794,7 +1794,7 @@ export interface OracleSettings {
SecretsManagerSecretId?: string;

/**
* <p>Required only if your Oracle endpoint uses Advanced Storage Manager (ASM). The full ARN
* <p>Required only if your Oracle endpoint uses Automatic Storage Management (ASM). The full ARN
* of the IAM role that specifies DMS as the trusted entity and grants the required
* permissions to access the <code>SecretsManagerOracleAsmSecret</code>. This
* <code>SecretsManagerOracleAsmSecret</code> has the secret value that allows access to
Expand All @@ -1814,7 +1814,7 @@ export interface OracleSettings {
SecretsManagerOracleAsmAccessRoleArn?: string;

/**
* <p>Required only if your Oracle endpoint uses Advanced Storage Manager (ASM). The full ARN, partial ARN, or friendly name of the <code>SecretsManagerOracleAsmSecret</code>
* <p>Required only if your Oracle endpoint uses Automatic Storage Management (ASM). The full ARN, partial ARN, or friendly name of the <code>SecretsManagerOracleAsmSecret</code>
* that contains the Oracle ASM connection details for the Oracle endpoint.</p>
*/
SecretsManagerOracleAsmSecretId?: string;
Expand Down Expand Up @@ -2831,7 +2831,7 @@ export interface S3Settings {
CdcMaxBatchInterval?: number;

/**
* <p>Minimum file size, defined in megabytes, to reach for a file output to Amazon S3.</p>
* <p>Minimum file size, defined in kilobytes, to reach for a file output to Amazon S3.</p>
* <p>When <code>CdcMinFileSize</code> and <code>CdcMaxBatchInterval</code> are both specified, the file
* write is triggered by whichever parameter condition is met first within an DMS
* CloudFormation template.</p>
Expand Down Expand Up @@ -3003,9 +3003,9 @@ export interface CreateEndpointMessage {
* <code>EndpointType</code> value, include <code>"mysql"</code>, <code>"oracle"</code>,
* <code>"postgres"</code>, <code>"mariadb"</code>, <code>"aurora"</code>,
* <code>"aurora-postgresql"</code>, <code>"opensearch"</code>, <code>"redshift"</code>, <code>"s3"</code>,
* <code>"db2"</code>, <code>"azuredb"</code>, <code>"sybase"</code>, <code>"dynamodb"</code>, <code>"mongodb"</code>,
* <code>"db2"</code>, <code>"db2-zos"</code>, <code>"azuredb"</code>, <code>"sybase"</code>, <code>"dynamodb"</code>, <code>"mongodb"</code>,
* <code>"kinesis"</code>, <code>"kafka"</code>, <code>"elasticsearch"</code>, <code>"docdb"</code>,
* <code>"sqlserver"</code>, and <code>"neptune"</code>.</p>
* <code>"sqlserver"</code>, <code>"neptune"</code>, and <code>"babelfish"</code>.</p>
*/
EngineName: string | undefined;

Expand Down Expand Up @@ -3294,18 +3294,19 @@ export interface Endpoint {

/**
* <p>The database engine name. Valid values, depending on the EndpointType, include
* <code>"mysql"</code>, <code>"oracle"</code>, <code>"postgres"</code>,
* <code>"mariadb"</code>, <code>"aurora"</code>, <code>"aurora-postgresql"</code>, <code>"opensearch"</code>,
* <code>"redshift"</code>, <code>"s3"</code>, <code>"db2"</code>, <code>"azuredb"</code>,
* <code>"sybase"</code>, <code>"dynamodb"</code>, <code>"mongodb"</code>,
* <code>"kinesis"</code>, <code>"kafka"</code>, <code>"elasticsearch"</code>,
* <code>"documentdb"</code>, <code>"sqlserver"</code>, and <code>"neptune"</code>.</p>
* <code>"mysql"</code>, <code>"oracle"</code>, <code>"postgres"</code>,
* <code>"mariadb"</code>, <code>"aurora"</code>, <code>"aurora-postgresql"</code>,
* <code>"redshift"</code>, <code>"s3"</code>, <code>"db2"</code>, <code>"db2-zos"</code>,
* <code>"azuredb"</code>, <code>"sybase"</code>, <code>"dynamodb"</code>,
* <code>"mongodb"</code>, <code>"kinesis"</code>, <code>"kafka"</code>,
* <code>"elasticsearch"</code>, <code>"documentdb"</code>, <code>"sqlserver"</code>,
* <code>"neptune"</code>, and <code>"babelfish"</code>.</p>
*/
EngineName?: string;

/**
* <p>The expanded name for the engine name. For example, if the <code>EngineName</code>
* parameter is "aurora," this value would be "Amazon Aurora MySQL."</p>
* parameter is "aurora", this value would be "Amazon Aurora MySQL".</p>
*/
EngineDisplayName?: string;

Expand Down Expand Up @@ -4043,6 +4044,13 @@ export interface CreateReplicationInstanceMessage {
* value for the end of <code>EndpointArn</code>.</p>
*/
ResourceIdentifier?: string;

/**
* <p>The type of IP address protocol used by a replication instance,
* such as IPv4 only or Dual-stack that supports both IPv4 and IPv6 addressing.
* IPv6 only is not yet supported.</p>
*/
NetworkType?: string;
}

/**
Expand Down Expand Up @@ -4081,6 +4089,13 @@ export interface ReplicationPendingModifiedValues {
* <p>The engine version number of the replication instance.</p>
*/
EngineVersion?: string;

/**
* <p>The type of IP address protocol used by a replication instance,
* such as IPv4 only or Dual-stack that supports both IPv4 and IPv6 addressing.
* IPv6 only is not yet supported.</p>
*/
NetworkType?: string;
}

/**
Expand Down Expand Up @@ -4149,6 +4164,13 @@ export interface ReplicationSubnetGroup {
* <p>The subnets that are in the subnet group.</p>
*/
Subnets?: Subnet[];

/**
* <p>The IP addressing protocol supported by the subnet group. This is used by a
* replication instance with values such as IPv4 only or Dual-stack that supports
* both IPv4 and IPv6 addressing. IPv6 only is not yet supported.</p>
*/
SupportedNetworkTypes?: string[];
}

/**
Expand Down Expand Up @@ -4373,6 +4395,11 @@ export interface ReplicationInstance {
*/
ReplicationInstancePrivateIpAddresses?: string[];

/**
* <p>One or more IPv6 addresses for the replication instance.</p>
*/
ReplicationInstanceIpv6Addresses?: string[];

/**
* <p> Specifies the accessibility options for the replication instance. A value of
* <code>true</code> represents an instance with a public IP address. A value of
Expand All @@ -4397,6 +4424,13 @@ export interface ReplicationInstance {
* <p>The DNS name servers supported for the replication instance to access your on-premise source or target database.</p>
*/
DnsNameServers?: string;

/**
* <p>The type of IP address protocol used by a replication instance,
* such as IPv4 only or Dual-stack that supports both IPv4 and IPv6 addressing.
* IPv6 only is not yet supported.</p>
*/
NetworkType?: string;
}

/**
Expand Down Expand Up @@ -5734,13 +5768,14 @@ export interface DescribeEndpointTypesMessage {
*/
export interface SupportedEndpointType {
/**
* <p>The database engine name. Valid values, depending on the EndpointType, include
* <p>The database engine name. Valid values, depending on the EndpointType, include
* <code>"mysql"</code>, <code>"oracle"</code>, <code>"postgres"</code>,
* <code>"mariadb"</code>, <code>"aurora"</code>, <code>"aurora-postgresql"</code>,
* <code>"redshift"</code>, <code>"s3"</code>, <code>"db2"</code>, <code>"azuredb"</code>,
* <code>"sybase"</code>, <code>"dynamodb"</code>, <code>"mongodb"</code>,
* <code>"kinesis"</code>, <code>"kafka"</code>, <code>"elasticsearch"</code>,
* <code>"documentdb"</code>, <code>"sqlserver"</code>, and <code>"neptune"</code>.</p>
* <code>"redshift"</code>, <code>"s3"</code>, <code>"db2"</code>, <code>"db2-zos"</code>,
* <code>"azuredb"</code>, <code>"sybase"</code>, <code>"dynamodb"</code>,
* <code>"mongodb"</code>, <code>"kinesis"</code>, <code>"kafka"</code>,
* <code>"elasticsearch"</code>, <code>"documentdb"</code>, <code>"sqlserver"</code>,
* <code>"neptune"</code>, and <code>"babelfish"</code>.</p>
*/
EngineName?: string;

Expand All @@ -5761,7 +5796,7 @@ export interface SupportedEndpointType {

/**
* <p>The expanded name for the engine name. For example, if the <code>EngineName</code>
* parameter is "aurora," this value would be "Amazon Aurora MySQL."</p>
* parameter is "aurora", this value would be "Amazon Aurora MySQL".</p>
*/
EngineDisplayName?: string;
}
Expand Down Expand Up @@ -5831,7 +5866,9 @@ export interface DescribeEventCategoriesResponse {
EventCategoryGroupList?: EventCategoryGroup[];
}

export type SourceType = "replication-instance";
export enum SourceType {
replication_instance = "replication-instance",
}

/**
* <p></p>
Expand Down Expand Up @@ -7461,6 +7498,27 @@ export interface TableStatistics {
*/
Ddls?: number;

/**
* <p>The number of insert actions applied on a target table.</p>
*/
AppliedInserts?: number;

/**
* <p>The number of delete actions applied on a target table.</p>
*/
AppliedDeletes?: number;

/**
* <p>The number of update actions applied on a target table.</p>
*/
AppliedUpdates?: number;

/**
* <p>The number of data definition language (DDL) statements used to build and modify the structure
* of your tables applied on the target.</p>
*/
AppliedDdls?: number;

/**
* <p>The number of rows added during the full load operation.</p>
*/
Expand Down Expand Up @@ -7701,14 +7759,14 @@ export interface ModifyEndpointMessage {
EndpointType?: ReplicationEndpointTypeValue | string;

/**
* <p>The type of engine for the endpoint. Valid values, depending on the EndpointType,
* include
* <p>The database engine name. Valid values, depending on the EndpointType, include
* <code>"mysql"</code>, <code>"oracle"</code>, <code>"postgres"</code>,
* <code>"mariadb"</code>, <code>"aurora"</code>, <code>"aurora-postgresql"</code>, <code>"opensearch"</code>,
* <code>"redshift"</code>, <code>"s3"</code>, <code>"db2"</code>, <code>"azuredb"</code>,
* <code>"sybase"</code>, <code>"dynamodb"</code>, <code>"mongodb"</code>,
* <code>"kinesis"</code>, <code>"kafka"</code>, <code>"elasticsearch"</code>,
* <code>"documentdb"</code>, <code>"sqlserver"</code>, and <code>"neptune"</code>.</p>
* <code>"mariadb"</code>, <code>"aurora"</code>, <code>"aurora-postgresql"</code>,
* <code>"redshift"</code>, <code>"s3"</code>, <code>"db2"</code>, <code>"db2-zos"</code>,
* <code>"azuredb"</code>, <code>"sybase"</code>, <code>"dynamodb"</code>,
* <code>"mongodb"</code>, <code>"kinesis"</code>, <code>"kafka"</code>,
* <code>"elasticsearch"</code>, <code>"documentdb"</code>, <code>"sqlserver"</code>,
* <code>"neptune"</code>, and <code>"babelfish"</code>.</p>
*/
EngineName?: string;

Expand Down Expand Up @@ -8104,6 +8162,13 @@ export interface ModifyReplicationInstanceMessage {
* string.</p>
*/
ReplicationInstanceIdentifier?: string;

/**
* <p>The type of IP address protocol used by a replication instance,
* such as IPv4 only or Dual-stack that supports both IPv4 and IPv6 addressing.
* IPv6 only is not yet supported.</p>
*/
NetworkType?: string;
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4757,6 +4757,7 @@ const serializeAws_json1_1CreateReplicationInstanceMessage = (
...(input.EngineVersion != null && { EngineVersion: input.EngineVersion }),
...(input.KmsKeyId != null && { KmsKeyId: input.KmsKeyId }),
...(input.MultiAZ != null && { MultiAZ: input.MultiAZ }),
...(input.NetworkType != null && { NetworkType: input.NetworkType }),
...(input.PreferredMaintenanceWindow != null && { PreferredMaintenanceWindow: input.PreferredMaintenanceWindow }),
...(input.PubliclyAccessible != null && { PubliclyAccessible: input.PubliclyAccessible }),
...(input.ReplicationInstanceClass != null && { ReplicationInstanceClass: input.ReplicationInstanceClass }),
Expand Down Expand Up @@ -5535,6 +5536,7 @@ const serializeAws_json1_1ModifyReplicationInstanceMessage = (
...(input.AutoMinorVersionUpgrade != null && { AutoMinorVersionUpgrade: input.AutoMinorVersionUpgrade }),
...(input.EngineVersion != null && { EngineVersion: input.EngineVersion }),
...(input.MultiAZ != null && { MultiAZ: input.MultiAZ }),
...(input.NetworkType != null && { NetworkType: input.NetworkType }),
...(input.PreferredMaintenanceWindow != null && { PreferredMaintenanceWindow: input.PreferredMaintenanceWindow }),
...(input.ReplicationInstanceArn != null && { ReplicationInstanceArn: input.ReplicationInstanceArn }),
...(input.ReplicationInstanceClass != null && { ReplicationInstanceClass: input.ReplicationInstanceClass }),
Expand Down Expand Up @@ -7702,6 +7704,7 @@ const deserializeAws_json1_1ReplicationInstance = (output: any, context: __Serde
: undefined,
KmsKeyId: __expectString(output.KmsKeyId),
MultiAZ: __expectBoolean(output.MultiAZ),
NetworkType: __expectString(output.NetworkType),
PendingModifiedValues:
output.PendingModifiedValues != null
? deserializeAws_json1_1ReplicationPendingModifiedValues(output.PendingModifiedValues, context)
Expand All @@ -7711,6 +7714,10 @@ const deserializeAws_json1_1ReplicationInstance = (output: any, context: __Serde
ReplicationInstanceArn: __expectString(output.ReplicationInstanceArn),
ReplicationInstanceClass: __expectString(output.ReplicationInstanceClass),
ReplicationInstanceIdentifier: __expectString(output.ReplicationInstanceIdentifier),
ReplicationInstanceIpv6Addresses:
output.ReplicationInstanceIpv6Addresses != null
? deserializeAws_json1_1ReplicationInstanceIpv6AddressList(output.ReplicationInstanceIpv6Addresses, context)
: undefined,
ReplicationInstancePrivateIpAddress: __expectString(output.ReplicationInstancePrivateIpAddress),
ReplicationInstancePrivateIpAddresses:
output.ReplicationInstancePrivateIpAddresses != null
Expand Down Expand Up @@ -7740,6 +7747,18 @@ const deserializeAws_json1_1ReplicationInstance = (output: any, context: __Serde
} as any;
};

const deserializeAws_json1_1ReplicationInstanceIpv6AddressList = (output: any, context: __SerdeContext): string[] => {
const retVal = (output || [])
.filter((e: any) => e != null)
.map((entry: any) => {
if (entry === null) {
return null as any;
}
return __expectString(entry) as any;
});
return retVal;
};

const deserializeAws_json1_1ReplicationInstanceList = (output: any, context: __SerdeContext): ReplicationInstance[] => {
const retVal = (output || [])
.filter((e: any) => e != null)
Expand Down Expand Up @@ -7816,6 +7835,7 @@ const deserializeAws_json1_1ReplicationPendingModifiedValues = (
AllocatedStorage: __expectInt32(output.AllocatedStorage),
EngineVersion: __expectString(output.EngineVersion),
MultiAZ: __expectBoolean(output.MultiAZ),
NetworkType: __expectString(output.NetworkType),
ReplicationInstanceClass: __expectString(output.ReplicationInstanceClass),
} as any;
};
Expand All @@ -7826,6 +7846,10 @@ const deserializeAws_json1_1ReplicationSubnetGroup = (output: any, context: __Se
ReplicationSubnetGroupIdentifier: __expectString(output.ReplicationSubnetGroupIdentifier),
SubnetGroupStatus: __expectString(output.SubnetGroupStatus),
Subnets: output.Subnets != null ? deserializeAws_json1_1SubnetList(output.Subnets, context) : undefined,
SupportedNetworkTypes:
output.SupportedNetworkTypes != null
? deserializeAws_json1_1StringList(output.SupportedNetworkTypes, context)
: undefined,
VpcId: __expectString(output.VpcId),
} as any;
};
Expand Down Expand Up @@ -8369,6 +8393,10 @@ const deserializeAws_json1_1SybaseSettings = (output: any, context: __SerdeConte

const deserializeAws_json1_1TableStatistics = (output: any, context: __SerdeContext): TableStatistics => {
return {
AppliedDdls: __expectLong(output.AppliedDdls),
AppliedDeletes: __expectLong(output.AppliedDeletes),
AppliedInserts: __expectLong(output.AppliedInserts),
AppliedUpdates: __expectLong(output.AppliedUpdates),
Ddls: __expectLong(output.Ddls),
Deletes: __expectLong(output.Deletes),
FullLoadCondtnlChkFailedRows: __expectLong(output.FullLoadCondtnlChkFailedRows),
Expand Down
Loading

0 comments on commit 0528c9c

Please sign in to comment.