Skip to content

Commit 0528c9c

Browse files
author
awstools
committed
feat(client-database-migration-service): Adds support for Internet Protocol Version 6 (IPv6) on DMS Replication Instances
1 parent 1ed217a commit 0528c9c

File tree

3 files changed

+1003
-734
lines changed

3 files changed

+1003
-734
lines changed

clients/client-database-migration-service/src/models/models_0.ts

Lines changed: 92 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1588,7 +1588,7 @@ export interface OracleSettings {
15881588
/**
15891589
* <p>When this field is set to <code>Y</code>, DMS only accesses the
15901590
* archived redo logs. If the archived redo logs are stored on
1591-
* Oracle ASM only, the DMS user account needs to be
1591+
* Automatic Storage Management (ASM) only, the DMS user account needs to be
15921592
* granted ASM privileges.</p>
15931593
*/
15941594
ArchivedLogsOnly?: boolean;
@@ -1794,7 +1794,7 @@ export interface OracleSettings {
17941794
SecretsManagerSecretId?: string;
17951795

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

18161816
/**
1817-
* <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>
1817+
* <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>
18181818
* that contains the Oracle ASM connection details for the Oracle endpoint.</p>
18191819
*/
18201820
SecretsManagerOracleAsmSecretId?: string;
@@ -2831,7 +2831,7 @@ export interface S3Settings {
28312831
CdcMaxBatchInterval?: number;
28322832

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

@@ -3294,18 +3294,19 @@ export interface Endpoint {
32943294

32953295
/**
32963296
* <p>The database engine name. Valid values, depending on the EndpointType, include
3297-
* <code>"mysql"</code>, <code>"oracle"</code>, <code>"postgres"</code>,
3298-
* <code>"mariadb"</code>, <code>"aurora"</code>, <code>"aurora-postgresql"</code>, <code>"opensearch"</code>,
3299-
* <code>"redshift"</code>, <code>"s3"</code>, <code>"db2"</code>, <code>"azuredb"</code>,
3300-
* <code>"sybase"</code>, <code>"dynamodb"</code>, <code>"mongodb"</code>,
3301-
* <code>"kinesis"</code>, <code>"kafka"</code>, <code>"elasticsearch"</code>,
3302-
* <code>"documentdb"</code>, <code>"sqlserver"</code>, and <code>"neptune"</code>.</p>
3297+
* <code>"mysql"</code>, <code>"oracle"</code>, <code>"postgres"</code>,
3298+
* <code>"mariadb"</code>, <code>"aurora"</code>, <code>"aurora-postgresql"</code>,
3299+
* <code>"redshift"</code>, <code>"s3"</code>, <code>"db2"</code>, <code>"db2-zos"</code>,
3300+
* <code>"azuredb"</code>, <code>"sybase"</code>, <code>"dynamodb"</code>,
3301+
* <code>"mongodb"</code>, <code>"kinesis"</code>, <code>"kafka"</code>,
3302+
* <code>"elasticsearch"</code>, <code>"documentdb"</code>, <code>"sqlserver"</code>,
3303+
* <code>"neptune"</code>, and <code>"babelfish"</code>.</p>
33033304
*/
33043305
EngineName?: string;
33053306

33063307
/**
33073308
* <p>The expanded name for the engine name. For example, if the <code>EngineName</code>
3308-
* parameter is "aurora," this value would be "Amazon Aurora MySQL."</p>
3309+
* parameter is "aurora", this value would be "Amazon Aurora MySQL".</p>
33093310
*/
33103311
EngineDisplayName?: string;
33113312

@@ -4043,6 +4044,13 @@ export interface CreateReplicationInstanceMessage {
40434044
* value for the end of <code>EndpointArn</code>.</p>
40444045
*/
40454046
ResourceIdentifier?: string;
4047+
4048+
/**
4049+
* <p>The type of IP address protocol used by a replication instance,
4050+
* such as IPv4 only or Dual-stack that supports both IPv4 and IPv6 addressing.
4051+
* IPv6 only is not yet supported.</p>
4052+
*/
4053+
NetworkType?: string;
40464054
}
40474055

40484056
/**
@@ -4081,6 +4089,13 @@ export interface ReplicationPendingModifiedValues {
40814089
* <p>The engine version number of the replication instance.</p>
40824090
*/
40834091
EngineVersion?: string;
4092+
4093+
/**
4094+
* <p>The type of IP address protocol used by a replication instance,
4095+
* such as IPv4 only or Dual-stack that supports both IPv4 and IPv6 addressing.
4096+
* IPv6 only is not yet supported.</p>
4097+
*/
4098+
NetworkType?: string;
40844099
}
40854100

40864101
/**
@@ -4149,6 +4164,13 @@ export interface ReplicationSubnetGroup {
41494164
* <p>The subnets that are in the subnet group.</p>
41504165
*/
41514166
Subnets?: Subnet[];
4167+
4168+
/**
4169+
* <p>The IP addressing protocol supported by the subnet group. This is used by a
4170+
* replication instance with values such as IPv4 only or Dual-stack that supports
4171+
* both IPv4 and IPv6 addressing. IPv6 only is not yet supported.</p>
4172+
*/
4173+
SupportedNetworkTypes?: string[];
41524174
}
41534175

41544176
/**
@@ -4373,6 +4395,11 @@ export interface ReplicationInstance {
43734395
*/
43744396
ReplicationInstancePrivateIpAddresses?: string[];
43754397

4398+
/**
4399+
* <p>One or more IPv6 addresses for the replication instance.</p>
4400+
*/
4401+
ReplicationInstanceIpv6Addresses?: string[];
4402+
43764403
/**
43774404
* <p> Specifies the accessibility options for the replication instance. A value of
43784405
* <code>true</code> represents an instance with a public IP address. A value of
@@ -4397,6 +4424,13 @@ export interface ReplicationInstance {
43974424
* <p>The DNS name servers supported for the replication instance to access your on-premise source or target database.</p>
43984425
*/
43994426
DnsNameServers?: string;
4427+
4428+
/**
4429+
* <p>The type of IP address protocol used by a replication instance,
4430+
* such as IPv4 only or Dual-stack that supports both IPv4 and IPv6 addressing.
4431+
* IPv6 only is not yet supported.</p>
4432+
*/
4433+
NetworkType?: string;
44004434
}
44014435

44024436
/**
@@ -5734,13 +5768,14 @@ export interface DescribeEndpointTypesMessage {
57345768
*/
57355769
export interface SupportedEndpointType {
57365770
/**
5737-
* <p>The database engine name. Valid values, depending on the EndpointType, include
5771+
* <p>The database engine name. Valid values, depending on the EndpointType, include
57385772
* <code>"mysql"</code>, <code>"oracle"</code>, <code>"postgres"</code>,
57395773
* <code>"mariadb"</code>, <code>"aurora"</code>, <code>"aurora-postgresql"</code>,
5740-
* <code>"redshift"</code>, <code>"s3"</code>, <code>"db2"</code>, <code>"azuredb"</code>,
5741-
* <code>"sybase"</code>, <code>"dynamodb"</code>, <code>"mongodb"</code>,
5742-
* <code>"kinesis"</code>, <code>"kafka"</code>, <code>"elasticsearch"</code>,
5743-
* <code>"documentdb"</code>, <code>"sqlserver"</code>, and <code>"neptune"</code>.</p>
5774+
* <code>"redshift"</code>, <code>"s3"</code>, <code>"db2"</code>, <code>"db2-zos"</code>,
5775+
* <code>"azuredb"</code>, <code>"sybase"</code>, <code>"dynamodb"</code>,
5776+
* <code>"mongodb"</code>, <code>"kinesis"</code>, <code>"kafka"</code>,
5777+
* <code>"elasticsearch"</code>, <code>"documentdb"</code>, <code>"sqlserver"</code>,
5778+
* <code>"neptune"</code>, and <code>"babelfish"</code>.</p>
57445779
*/
57455780
EngineName?: string;
57465781

@@ -5761,7 +5796,7 @@ export interface SupportedEndpointType {
57615796

57625797
/**
57635798
* <p>The expanded name for the engine name. For example, if the <code>EngineName</code>
5764-
* parameter is "aurora," this value would be "Amazon Aurora MySQL."</p>
5799+
* parameter is "aurora", this value would be "Amazon Aurora MySQL".</p>
57655800
*/
57665801
EngineDisplayName?: string;
57675802
}
@@ -5831,7 +5866,9 @@ export interface DescribeEventCategoriesResponse {
58315866
EventCategoryGroupList?: EventCategoryGroup[];
58325867
}
58335868

5834-
export type SourceType = "replication-instance";
5869+
export enum SourceType {
5870+
replication_instance = "replication-instance",
5871+
}
58355872

58365873
/**
58375874
* <p></p>
@@ -7461,6 +7498,27 @@ export interface TableStatistics {
74617498
*/
74627499
Ddls?: number;
74637500

7501+
/**
7502+
* <p>The number of insert actions applied on a target table.</p>
7503+
*/
7504+
AppliedInserts?: number;
7505+
7506+
/**
7507+
* <p>The number of delete actions applied on a target table.</p>
7508+
*/
7509+
AppliedDeletes?: number;
7510+
7511+
/**
7512+
* <p>The number of update actions applied on a target table.</p>
7513+
*/
7514+
AppliedUpdates?: number;
7515+
7516+
/**
7517+
* <p>The number of data definition language (DDL) statements used to build and modify the structure
7518+
* of your tables applied on the target.</p>
7519+
*/
7520+
AppliedDdls?: number;
7521+
74647522
/**
74657523
* <p>The number of rows added during the full load operation.</p>
74667524
*/
@@ -7701,14 +7759,14 @@ export interface ModifyEndpointMessage {
77017759
EndpointType?: ReplicationEndpointTypeValue | string;
77027760

77037761
/**
7704-
* <p>The type of engine for the endpoint. Valid values, depending on the EndpointType,
7705-
* include
7762+
* <p>The database engine name. Valid values, depending on the EndpointType, include
77067763
* <code>"mysql"</code>, <code>"oracle"</code>, <code>"postgres"</code>,
7707-
* <code>"mariadb"</code>, <code>"aurora"</code>, <code>"aurora-postgresql"</code>, <code>"opensearch"</code>,
7708-
* <code>"redshift"</code>, <code>"s3"</code>, <code>"db2"</code>, <code>"azuredb"</code>,
7709-
* <code>"sybase"</code>, <code>"dynamodb"</code>, <code>"mongodb"</code>,
7710-
* <code>"kinesis"</code>, <code>"kafka"</code>, <code>"elasticsearch"</code>,
7711-
* <code>"documentdb"</code>, <code>"sqlserver"</code>, and <code>"neptune"</code>.</p>
7764+
* <code>"mariadb"</code>, <code>"aurora"</code>, <code>"aurora-postgresql"</code>,
7765+
* <code>"redshift"</code>, <code>"s3"</code>, <code>"db2"</code>, <code>"db2-zos"</code>,
7766+
* <code>"azuredb"</code>, <code>"sybase"</code>, <code>"dynamodb"</code>,
7767+
* <code>"mongodb"</code>, <code>"kinesis"</code>, <code>"kafka"</code>,
7768+
* <code>"elasticsearch"</code>, <code>"documentdb"</code>, <code>"sqlserver"</code>,
7769+
* <code>"neptune"</code>, and <code>"babelfish"</code>.</p>
77127770
*/
77137771
EngineName?: string;
77147772

@@ -8104,6 +8162,13 @@ export interface ModifyReplicationInstanceMessage {
81048162
* string.</p>
81058163
*/
81068164
ReplicationInstanceIdentifier?: string;
8165+
8166+
/**
8167+
* <p>The type of IP address protocol used by a replication instance,
8168+
* such as IPv4 only or Dual-stack that supports both IPv4 and IPv6 addressing.
8169+
* IPv6 only is not yet supported.</p>
8170+
*/
8171+
NetworkType?: string;
81078172
}
81088173

81098174
/**

clients/client-database-migration-service/src/protocols/Aws_json1_1.ts

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4757,6 +4757,7 @@ const serializeAws_json1_1CreateReplicationInstanceMessage = (
47574757
...(input.EngineVersion != null && { EngineVersion: input.EngineVersion }),
47584758
...(input.KmsKeyId != null && { KmsKeyId: input.KmsKeyId }),
47594759
...(input.MultiAZ != null && { MultiAZ: input.MultiAZ }),
4760+
...(input.NetworkType != null && { NetworkType: input.NetworkType }),
47604761
...(input.PreferredMaintenanceWindow != null && { PreferredMaintenanceWindow: input.PreferredMaintenanceWindow }),
47614762
...(input.PubliclyAccessible != null && { PubliclyAccessible: input.PubliclyAccessible }),
47624763
...(input.ReplicationInstanceClass != null && { ReplicationInstanceClass: input.ReplicationInstanceClass }),
@@ -5535,6 +5536,7 @@ const serializeAws_json1_1ModifyReplicationInstanceMessage = (
55355536
...(input.AutoMinorVersionUpgrade != null && { AutoMinorVersionUpgrade: input.AutoMinorVersionUpgrade }),
55365537
...(input.EngineVersion != null && { EngineVersion: input.EngineVersion }),
55375538
...(input.MultiAZ != null && { MultiAZ: input.MultiAZ }),
5539+
...(input.NetworkType != null && { NetworkType: input.NetworkType }),
55385540
...(input.PreferredMaintenanceWindow != null && { PreferredMaintenanceWindow: input.PreferredMaintenanceWindow }),
55395541
...(input.ReplicationInstanceArn != null && { ReplicationInstanceArn: input.ReplicationInstanceArn }),
55405542
...(input.ReplicationInstanceClass != null && { ReplicationInstanceClass: input.ReplicationInstanceClass }),
@@ -7702,6 +7704,7 @@ const deserializeAws_json1_1ReplicationInstance = (output: any, context: __Serde
77027704
: undefined,
77037705
KmsKeyId: __expectString(output.KmsKeyId),
77047706
MultiAZ: __expectBoolean(output.MultiAZ),
7707+
NetworkType: __expectString(output.NetworkType),
77057708
PendingModifiedValues:
77067709
output.PendingModifiedValues != null
77077710
? deserializeAws_json1_1ReplicationPendingModifiedValues(output.PendingModifiedValues, context)
@@ -7711,6 +7714,10 @@ const deserializeAws_json1_1ReplicationInstance = (output: any, context: __Serde
77117714
ReplicationInstanceArn: __expectString(output.ReplicationInstanceArn),
77127715
ReplicationInstanceClass: __expectString(output.ReplicationInstanceClass),
77137716
ReplicationInstanceIdentifier: __expectString(output.ReplicationInstanceIdentifier),
7717+
ReplicationInstanceIpv6Addresses:
7718+
output.ReplicationInstanceIpv6Addresses != null
7719+
? deserializeAws_json1_1ReplicationInstanceIpv6AddressList(output.ReplicationInstanceIpv6Addresses, context)
7720+
: undefined,
77147721
ReplicationInstancePrivateIpAddress: __expectString(output.ReplicationInstancePrivateIpAddress),
77157722
ReplicationInstancePrivateIpAddresses:
77167723
output.ReplicationInstancePrivateIpAddresses != null
@@ -7740,6 +7747,18 @@ const deserializeAws_json1_1ReplicationInstance = (output: any, context: __Serde
77407747
} as any;
77417748
};
77427749

7750+
const deserializeAws_json1_1ReplicationInstanceIpv6AddressList = (output: any, context: __SerdeContext): string[] => {
7751+
const retVal = (output || [])
7752+
.filter((e: any) => e != null)
7753+
.map((entry: any) => {
7754+
if (entry === null) {
7755+
return null as any;
7756+
}
7757+
return __expectString(entry) as any;
7758+
});
7759+
return retVal;
7760+
};
7761+
77437762
const deserializeAws_json1_1ReplicationInstanceList = (output: any, context: __SerdeContext): ReplicationInstance[] => {
77447763
const retVal = (output || [])
77457764
.filter((e: any) => e != null)
@@ -7816,6 +7835,7 @@ const deserializeAws_json1_1ReplicationPendingModifiedValues = (
78167835
AllocatedStorage: __expectInt32(output.AllocatedStorage),
78177836
EngineVersion: __expectString(output.EngineVersion),
78187837
MultiAZ: __expectBoolean(output.MultiAZ),
7838+
NetworkType: __expectString(output.NetworkType),
78197839
ReplicationInstanceClass: __expectString(output.ReplicationInstanceClass),
78207840
} as any;
78217841
};
@@ -7826,6 +7846,10 @@ const deserializeAws_json1_1ReplicationSubnetGroup = (output: any, context: __Se
78267846
ReplicationSubnetGroupIdentifier: __expectString(output.ReplicationSubnetGroupIdentifier),
78277847
SubnetGroupStatus: __expectString(output.SubnetGroupStatus),
78287848
Subnets: output.Subnets != null ? deserializeAws_json1_1SubnetList(output.Subnets, context) : undefined,
7849+
SupportedNetworkTypes:
7850+
output.SupportedNetworkTypes != null
7851+
? deserializeAws_json1_1StringList(output.SupportedNetworkTypes, context)
7852+
: undefined,
78297853
VpcId: __expectString(output.VpcId),
78307854
} as any;
78317855
};
@@ -8369,6 +8393,10 @@ const deserializeAws_json1_1SybaseSettings = (output: any, context: __SerdeConte
83698393

83708394
const deserializeAws_json1_1TableStatistics = (output: any, context: __SerdeContext): TableStatistics => {
83718395
return {
8396+
AppliedDdls: __expectLong(output.AppliedDdls),
8397+
AppliedDeletes: __expectLong(output.AppliedDeletes),
8398+
AppliedInserts: __expectLong(output.AppliedInserts),
8399+
AppliedUpdates: __expectLong(output.AppliedUpdates),
83728400
Ddls: __expectLong(output.Ddls),
83738401
Deletes: __expectLong(output.Deletes),
83748402
FullLoadCondtnlChkFailedRows: __expectLong(output.FullLoadCondtnlChkFailedRows),

0 commit comments

Comments
 (0)