From a5f36fdc79091bcba749f901fa52ba0f05dc638c Mon Sep 17 00:00:00 2001 From: aws-sdk-dotnet-automation Date: Tue, 21 Jun 2022 11:12:02 -0700 Subject: [PATCH] This release adds support for Private IP VPNs, a new feature allowing S2S VPN connections to use private ip addresses as the tunnel outside ip address over Direct Connect as transport. --- .../ServiceModels/ec2/ec2-2016-11-15.api.json | 18 +++++-- .../ec2/ec2-2016-11-15.docs.json | 15 ++++-- .../ec2/ec2-2016-11-15.normal.json | 31 +++++++++-- .../Model/CreateCustomerGatewayRequest.cs | 37 ++++++++++---- .../EC2/Generated/Model/CustomerGateway.cs | 2 +- .../Model/DescribeCustomerGatewaysRequest.cs | 4 +- .../CreateCustomerGatewayRequestMarshaller.cs | 6 ++- .../CreateVpnConnectionRequestMarshaller.cs | 8 +++ .../VpnConnectionOptionsUnmarshaller.cs | 12 +++++ .../Generated/Model/VpnConnectionOptions.cs | 46 +++++++++++++++++ .../VpnConnectionOptionsSpecification.cs | 51 +++++++++++++++++++ .../EC2/Generated/_bcl35/AmazonEC2Client.cs | 11 ++-- .../EC2/Generated/_bcl35/IAmazonEC2.cs | 11 ++-- .../EC2/Generated/_bcl45/AmazonEC2Client.cs | 22 ++++---- .../EC2/Generated/_bcl45/IAmazonEC2.cs | 22 ++++---- .../Generated/_netstandard/AmazonEC2Client.cs | 11 ++-- .../EC2/Generated/_netstandard/IAmazonEC2.cs | 11 ++-- 17 files changed, 242 insertions(+), 76 deletions(-) diff --git a/generator/ServiceModels/ec2/ec2-2016-11-15.api.json b/generator/ServiceModels/ec2/ec2-2016-11-15.api.json index be3fccbd480d..f412141ca0c2 100644 --- a/generator/ServiceModels/ec2/ec2-2016-11-15.api.json +++ b/generator/ServiceModels/ec2/ec2-2016-11-15.api.json @@ -8833,10 +8833,7 @@ ], "members":{ "BgpAsn":{"shape":"Integer"}, - "PublicIp":{ - "shape":"String", - "locationName":"IpAddress" - }, + "PublicIp":{"shape":"String"}, "CertificateArn":{"shape":"String"}, "Type":{"shape":"GatewayType"}, "TagSpecifications":{ @@ -8844,6 +8841,7 @@ "locationName":"TagSpecification" }, "DeviceName":{"shape":"String"}, + "IpAddress":{"shape":"String"}, "DryRun":{ "shape":"Boolean", "locationName":"dryRun" @@ -39790,6 +39788,14 @@ "shape":"String", "locationName":"remoteIpv6NetworkCidr" }, + "OutsideIpAddressType":{ + "shape":"String", + "locationName":"outsideIpAddressType" + }, + "TransportTransitGatewayAttachmentId":{ + "shape":"String", + "locationName":"transportTransitGatewayAttachmentId" + }, "TunnelInsideIpVersion":{ "shape":"TunnelInsideIpVersion", "locationName":"tunnelInsideIpVersion" @@ -39813,7 +39819,9 @@ "LocalIpv4NetworkCidr":{"shape":"String"}, "RemoteIpv4NetworkCidr":{"shape":"String"}, "LocalIpv6NetworkCidr":{"shape":"String"}, - "RemoteIpv6NetworkCidr":{"shape":"String"} + "RemoteIpv6NetworkCidr":{"shape":"String"}, + "OutsideIpAddressType":{"shape":"String"}, + "TransportTransitGatewayAttachmentId":{"shape":"TransitGatewayAttachmentId"} } }, "VpnEcmpSupportValue":{ diff --git a/generator/ServiceModels/ec2/ec2-2016-11-15.docs.json b/generator/ServiceModels/ec2/ec2-2016-11-15.docs.json index 25461568f423..049537d71fad 100644 --- a/generator/ServiceModels/ec2/ec2-2016-11-15.docs.json +++ b/generator/ServiceModels/ec2/ec2-2016-11-15.docs.json @@ -54,7 +54,7 @@ "CreateCarrierGateway": "

Creates a carrier gateway. For more information about carrier gateways, see Carrier gateways in the Amazon Web Services Wavelength Developer Guide.

", "CreateClientVpnEndpoint": "

Creates a Client VPN endpoint. A Client VPN endpoint is the resource you create and configure to enable and manage client VPN sessions. It is the destination endpoint at which all client VPN sessions are terminated.

", "CreateClientVpnRoute": "

Adds a route to a network to a Client VPN endpoint. Each Client VPN endpoint has a route table that describes the available destination network routes. Each route in the route table specifies the path for traffic to specific resources or networks.

", - "CreateCustomerGateway": "

Provides information to Amazon Web Services about your VPN customer gateway device. The customer gateway is the appliance at your end of the VPN connection. (The device on the Amazon Web Services side of the VPN connection is the virtual private gateway.) You must provide the internet-routable IP address of the customer gateway's external interface. The IP address must be static and can be behind a device performing network address translation (NAT).

For devices that use Border Gateway Protocol (BGP), you can also provide the device's BGP Autonomous System Number (ASN). You can use an existing ASN assigned to your network. If you don't have an ASN already, you can use a private ASN. For more information, see Customer gateway options for your Site-to-Site VPN connection in the Amazon Web Services Site-to-Site VPN User Guide.

To create more than one customer gateway with the same VPN type, IP address, and BGP ASN, specify a unique device name for each customer gateway. An identical request returns information about the existing customer gateway; it doesn't create a new customer gateway.

", + "CreateCustomerGateway": "

Provides information to Amazon Web Services about your customer gateway device. The customer gateway device is the appliance at your end of the VPN connection. You must provide the IP address of the customer gateway device’s external interface. The IP address must be static and can be behind a device performing network address translation (NAT).

For devices that use Border Gateway Protocol (BGP), you can also provide the device's BGP Autonomous System Number (ASN). You can use an existing ASN assigned to your network. If you don't have an ASN already, you can use a private ASN. For more information, see Customer gateway options for your Site-to-Site VPN connection in the Amazon Web Services Site-to-Site VPN User Guide.

To create more than one customer gateway with the same VPN type, IP address, and BGP ASN, specify a unique device name for each customer gateway. An identical request returns information about the existing customer gateway; it doesn't create a new customer gateway.

", "CreateDefaultSubnet": "

Creates a default subnet with a size /20 IPv4 CIDR block in the specified Availability Zone in your default VPC. You can have only one default subnet per Availability Zone. For more information, see Creating a default subnet in the Amazon Virtual Private Cloud User Guide.

", "CreateDefaultVpc": "

Creates a default VPC with a size /16 IPv4 CIDR block and a default subnet in each Availability Zone. For more information about the components of a default VPC, see Default VPC and default subnets in the Amazon Virtual Private Cloud User Guide. You cannot specify the components of the default VPC yourself.

If you deleted your previous default VPC, you can create a default VPC. You cannot have more than one default VPC per Region.

If your account supports EC2-Classic, you cannot use this action to create a default VPC in a Region that supports EC2-Classic. If you want a default VPC in a Region that supports EC2-Classic, see \"I really want a default VPC for my existing EC2 account. Is that possible?\" in the Default VPCs FAQ.

", "CreateDhcpOptions": "

Creates a set of DHCP options for your VPC. After creating the set, you must associate it with the VPC, causing all existing and new instances that you launch in the VPC to use this set of DHCP options. The following are the individual DHCP options you can specify. For more information about the options, see RFC 2132.

Your VPC automatically starts out with a set of DHCP options that includes only a DNS server that we provide (AmazonProvidedDNS). If you create a set of options, and if your VPC has an internet gateway, make sure to set the domain-name-servers option either to AmazonProvidedDNS or to a domain name server of your choice. For more information, see DHCP options sets in the Amazon Virtual Private Cloud User Guide.

", @@ -7948,7 +7948,7 @@ "DescribeClientVpnRoutesRequest$Filters": "

One or more filters. Filter names and values are case-sensitive.

", "DescribeClientVpnTargetNetworksRequest$Filters": "

One or more filters. Filter names and values are case-sensitive.

", "DescribeCoipPoolsRequest$Filters": "

One or more filters.

", - "DescribeCustomerGatewaysRequest$Filters": "

One or more filters.

", + "DescribeCustomerGatewaysRequest$Filters": "

One or more filters.

", "DescribeDhcpOptionsRequest$Filters": "

One or more filters.

", "DescribeEgressOnlyInternetGatewaysRequest$Filters": "

One or more filters.

", "DescribeElasticGpusRequest$Filters": "

The filters.

", @@ -16652,9 +16652,10 @@ "CreateClientVpnRouteRequest$DestinationCidrBlock": "

The IPv4 address range, in CIDR notation, of the route destination. For example:

", "CreateClientVpnRouteRequest$Description": "

A brief description of the route.

", "CreateClientVpnRouteRequest$ClientToken": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

", - "CreateCustomerGatewayRequest$PublicIp": "

The Internet-routable IP address for the customer gateway's outside interface. The address must be static.

", + "CreateCustomerGatewayRequest$PublicIp": "

This member has been deprecated. The Internet-routable IP address for the customer gateway's outside interface. The address must be static.

", "CreateCustomerGatewayRequest$CertificateArn": "

The Amazon Resource Name (ARN) for the customer gateway certificate.

", "CreateCustomerGatewayRequest$DeviceName": "

A name for the customer gateway device.

Length Constraints: Up to 255 characters.

", + "CreateCustomerGatewayRequest$IpAddress": "

IPv4 address for the customer gateway device's outside interface. The address must be static.

", "CreateDefaultSubnetRequest$AvailabilityZone": "

The Availability Zone in which to create the default subnet.

", "CreateEgressOnlyInternetGatewayRequest$ClientToken": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

", "CreateEgressOnlyInternetGatewayResult$ClientToken": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

", @@ -16781,7 +16782,7 @@ "CreditSpecificationRequest$CpuCredits": "

The credit option for CPU usage of a T2, T3, or T3a instance. Valid values are standard and unlimited.

", "CustomerGateway$BgpAsn": "

The customer gateway's Border Gateway Protocol (BGP) Autonomous System Number (ASN).

", "CustomerGateway$CustomerGatewayId": "

The ID of the customer gateway.

", - "CustomerGateway$IpAddress": "

The Internet-routable IP address of the customer gateway's outside interface.

", + "CustomerGateway$IpAddress": "

The IP address of the customer gateway device's outside interface.

", "CustomerGateway$CertificateArn": "

The Amazon Resource Name (ARN) for the customer gateway certificate.

", "CustomerGateway$State": "

The current state of the customer gateway (pending | available | deleting | deleted).

", "CustomerGateway$Type": "

The type of VPN connection the customer gateway supports (ipsec.1).

", @@ -18209,10 +18210,13 @@ "VpnConnectionOptions$RemoteIpv4NetworkCidr": "

The IPv4 CIDR on the Amazon Web Services side of the VPN connection.

", "VpnConnectionOptions$LocalIpv6NetworkCidr": "

The IPv6 CIDR on the customer gateway (on-premises) side of the VPN connection.

", "VpnConnectionOptions$RemoteIpv6NetworkCidr": "

The IPv6 CIDR on the Amazon Web Services side of the VPN connection.

", + "VpnConnectionOptions$OutsideIpAddressType": "

The type of IPv4 address assigned to the outside interface of the customer gateway.

Valid values: PrivateIpv4 | PublicIpv4

Default: PublicIpv4

", + "VpnConnectionOptions$TransportTransitGatewayAttachmentId": "

The transit gateway attachment ID in use for the VPN tunnel.

", "VpnConnectionOptionsSpecification$LocalIpv4NetworkCidr": "

The IPv4 CIDR on the customer gateway (on-premises) side of the VPN connection.

Default: 0.0.0.0/0

", "VpnConnectionOptionsSpecification$RemoteIpv4NetworkCidr": "

The IPv4 CIDR on the Amazon Web Services side of the VPN connection.

Default: 0.0.0.0/0

", "VpnConnectionOptionsSpecification$LocalIpv6NetworkCidr": "

The IPv6 CIDR on the customer gateway (on-premises) side of the VPN connection.

Default: ::/0

", "VpnConnectionOptionsSpecification$RemoteIpv6NetworkCidr": "

The IPv6 CIDR on the Amazon Web Services side of the VPN connection.

Default: ::/0

", + "VpnConnectionOptionsSpecification$OutsideIpAddressType": "

The type of IPv4 address assigned to the outside interface of the customer gateway device.

Valid values: PrivateIpv4 | PublicIpv4

Default: PublicIpv4

", "VpnGateway$AvailabilityZone": "

The Availability Zone where the virtual private gateway was created, if applicable. This field may be empty or not returned.

", "VpnGateway$VpnGatewayId": "

The ID of the virtual private gateway.

", "VpnStaticRoute$DestinationCidrBlock": "

The CIDR block associated with the local subnet of the customer data center.

", @@ -19102,7 +19106,8 @@ "TransitGatewayConnect$TransportTransitGatewayAttachmentId": "

The ID of the attachment from which the Connect attachment was created.

", "TransitGatewayConnectPeer$TransitGatewayAttachmentId": "

The ID of the Connect attachment.

", "TransitGatewayPrefixListAttachment$TransitGatewayAttachmentId": "

The ID of the attachment.

", - "TransitGatewayPropagation$TransitGatewayAttachmentId": "

The ID of the attachment.

" + "TransitGatewayPropagation$TransitGatewayAttachmentId": "

The ID of the attachment.

", + "VpnConnectionOptionsSpecification$TransportTransitGatewayAttachmentId": "

The transit gateway attachment ID to use for the VPN tunnel.

Required if OutsideIpAddressType is set to PrivateIpv4.

" } }, "TransitGatewayAttachmentIdStringList": { diff --git a/generator/ServiceModels/ec2/ec2-2016-11-15.normal.json b/generator/ServiceModels/ec2/ec2-2016-11-15.normal.json index 267e8a9b1afd..d81a00da8a47 100644 --- a/generator/ServiceModels/ec2/ec2-2016-11-15.normal.json +++ b/generator/ServiceModels/ec2/ec2-2016-11-15.normal.json @@ -536,7 +536,7 @@ }, "input":{"shape":"CreateCustomerGatewayRequest"}, "output":{"shape":"CreateCustomerGatewayResult"}, - "documentation":"

Provides information to Amazon Web Services about your VPN customer gateway device. The customer gateway is the appliance at your end of the VPN connection. (The device on the Amazon Web Services side of the VPN connection is the virtual private gateway.) You must provide the internet-routable IP address of the customer gateway's external interface. The IP address must be static and can be behind a device performing network address translation (NAT).

For devices that use Border Gateway Protocol (BGP), you can also provide the device's BGP Autonomous System Number (ASN). You can use an existing ASN assigned to your network. If you don't have an ASN already, you can use a private ASN. For more information, see Customer gateway options for your Site-to-Site VPN connection in the Amazon Web Services Site-to-Site VPN User Guide.

To create more than one customer gateway with the same VPN type, IP address, and BGP ASN, specify a unique device name for each customer gateway. An identical request returns information about the existing customer gateway; it doesn't create a new customer gateway.

" + "documentation":"

Provides information to Amazon Web Services about your customer gateway device. The customer gateway device is the appliance at your end of the VPN connection. You must provide the IP address of the customer gateway device’s external interface. The IP address must be static and can be behind a device performing network address translation (NAT).

For devices that use Border Gateway Protocol (BGP), you can also provide the device's BGP Autonomous System Number (ASN). You can use an existing ASN assigned to your network. If you don't have an ASN already, you can use a private ASN. For more information, see Customer gateway options for your Site-to-Site VPN connection in the Amazon Web Services Site-to-Site VPN User Guide.

To create more than one customer gateway with the same VPN type, IP address, and BGP ASN, specify a unique device name for each customer gateway. An identical request returns information about the existing customer gateway; it doesn't create a new customer gateway.

" }, "CreateDefaultSubnet":{ "name":"CreateDefaultSubnet", @@ -10553,8 +10553,7 @@ }, "PublicIp":{ "shape":"String", - "documentation":"

The Internet-routable IP address for the customer gateway's outside interface. The address must be static.

", - "locationName":"IpAddress" + "documentation":"

This member has been deprecated. The Internet-routable IP address for the customer gateway's outside interface. The address must be static.

" }, "CertificateArn":{ "shape":"String", @@ -10573,6 +10572,10 @@ "shape":"String", "documentation":"

A name for the customer gateway device.

Length Constraints: Up to 255 characters.

" }, + "IpAddress":{ + "shape":"String", + "documentation":"

IPv4 address for the customer gateway device's outside interface. The address must be static.

" + }, "DryRun":{ "shape":"Boolean", "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", @@ -13738,7 +13741,7 @@ }, "IpAddress":{ "shape":"String", - "documentation":"

The Internet-routable IP address of the customer gateway's outside interface.

", + "documentation":"

The IP address of the customer gateway device's outside interface.

", "locationName":"ipAddress" }, "CertificateArn":{ @@ -16404,7 +16407,7 @@ }, "Filters":{ "shape":"FilterList", - "documentation":"

One or more filters.

", + "documentation":"

One or more filters.

", "locationName":"Filter" }, "DryRun":{ @@ -51138,6 +51141,16 @@ "documentation":"

The IPv6 CIDR on the Amazon Web Services side of the VPN connection.

", "locationName":"remoteIpv6NetworkCidr" }, + "OutsideIpAddressType":{ + "shape":"String", + "documentation":"

The type of IPv4 address assigned to the outside interface of the customer gateway.

Valid values: PrivateIpv4 | PublicIpv4

Default: PublicIpv4

", + "locationName":"outsideIpAddressType" + }, + "TransportTransitGatewayAttachmentId":{ + "shape":"String", + "documentation":"

The transit gateway attachment ID in use for the VPN tunnel.

", + "locationName":"transportTransitGatewayAttachmentId" + }, "TunnelInsideIpVersion":{ "shape":"TunnelInsideIpVersion", "documentation":"

Indicates whether the VPN tunnels process IPv4 or IPv6 traffic.

", @@ -51186,6 +51199,14 @@ "RemoteIpv6NetworkCidr":{ "shape":"String", "documentation":"

The IPv6 CIDR on the Amazon Web Services side of the VPN connection.

Default: ::/0

" + }, + "OutsideIpAddressType":{ + "shape":"String", + "documentation":"

The type of IPv4 address assigned to the outside interface of the customer gateway device.

Valid values: PrivateIpv4 | PublicIpv4

Default: PublicIpv4

" + }, + "TransportTransitGatewayAttachmentId":{ + "shape":"TransitGatewayAttachmentId", + "documentation":"

The transit gateway attachment ID to use for the VPN tunnel.

Required if OutsideIpAddressType is set to PrivateIpv4.

" } }, "documentation":"

Describes VPN connection options.

" diff --git a/sdk/src/Services/EC2/Generated/Model/CreateCustomerGatewayRequest.cs b/sdk/src/Services/EC2/Generated/Model/CreateCustomerGatewayRequest.cs index 86ee9aaff217..931fba6e1bc3 100644 --- a/sdk/src/Services/EC2/Generated/Model/CreateCustomerGatewayRequest.cs +++ b/sdk/src/Services/EC2/Generated/Model/CreateCustomerGatewayRequest.cs @@ -30,12 +30,11 @@ namespace Amazon.EC2.Model { /// /// Container for the parameters to the CreateCustomerGateway operation. - /// Provides information to Amazon Web Services about your VPN customer gateway device. - /// The customer gateway is the appliance at your end of the VPN connection. (The device - /// on the Amazon Web Services side of the VPN connection is the virtual private gateway.) - /// You must provide the internet-routable IP address of the customer gateway's external - /// interface. The IP address must be static and can be behind a device performing network - /// address translation (NAT). + /// Provides information to Amazon Web Services about your customer gateway device. The + /// customer gateway device is the appliance at your end of the VPN connection. You must + /// provide the IP address of the customer gateway device’s external interface. The IP + /// address must be static and can be behind a device performing network address translation + /// (NAT). /// /// /// @@ -59,6 +58,7 @@ public partial class CreateCustomerGatewayRequest : AmazonEC2Request private int? _bgpAsn; private string _certificateArn; private string _deviceName; + private string _ipAddress; private string _publicIp; private List _tagSpecifications = new List(); private GatewayType _type; @@ -72,7 +72,7 @@ public CreateCustomerGatewayRequest() { } /// Instantiates CreateCustomerGatewayRequest with the parameterized properties /// /// The type of VPN connection that this customer gateway supports (ipsec.1). - /// The Internet-routable IP address for the customer gateway's outside interface. The address must be static. + /// This member has been deprecated. The Internet-routable IP address for the customer gateway's outside interface. The address must be static. /// For devices that support BGP, the customer gateway's BGP ASN. Default: 65000 public CreateCustomerGatewayRequest(GatewayType type, string publicIp, int bgpAsn) { @@ -144,11 +144,30 @@ internal bool IsSetDeviceName() return this._deviceName != null; } + /// + /// Gets and sets the property IpAddress. + /// + /// IPv4 address for the customer gateway device's outside interface. The address must + /// be static. + /// + /// + public string IpAddress + { + get { return this._ipAddress; } + set { this._ipAddress = value; } + } + + // Check to see if IpAddress property is set + internal bool IsSetIpAddress() + { + return this._ipAddress != null; + } + /// /// Gets and sets the property PublicIp. /// - /// The Internet-routable IP address for the customer gateway's outside interface. The - /// address must be static. + /// This member has been deprecated. The Internet-routable IP address for the + /// customer gateway's outside interface. The address must be static. /// /// public string PublicIp diff --git a/sdk/src/Services/EC2/Generated/Model/CustomerGateway.cs b/sdk/src/Services/EC2/Generated/Model/CustomerGateway.cs index 2e48b51bb706..70c336f2b7be 100644 --- a/sdk/src/Services/EC2/Generated/Model/CustomerGateway.cs +++ b/sdk/src/Services/EC2/Generated/Model/CustomerGateway.cs @@ -117,7 +117,7 @@ internal bool IsSetDeviceName() /// /// Gets and sets the property IpAddress. /// - /// The Internet-routable IP address of the customer gateway's outside interface. + /// The IP address of the customer gateway device's outside interface. /// /// public string IpAddress diff --git a/sdk/src/Services/EC2/Generated/Model/DescribeCustomerGatewaysRequest.cs b/sdk/src/Services/EC2/Generated/Model/DescribeCustomerGatewaysRequest.cs index 3a1c1cefe08d..baa474a06f62 100644 --- a/sdk/src/Services/EC2/Generated/Model/DescribeCustomerGatewaysRequest.cs +++ b/sdk/src/Services/EC2/Generated/Model/DescribeCustomerGatewaysRequest.cs @@ -82,8 +82,8 @@ internal bool IsSetCustomerGatewayIds() /// ///
  • /// - /// ip-address - The IP address of the customer gateway's Internet-routable - /// external interface. + /// ip-address - The IP address of the customer gateway device's external + /// interface. /// ///
  • /// diff --git a/sdk/src/Services/EC2/Generated/Model/Internal/MarshallTransformations/CreateCustomerGatewayRequestMarshaller.cs b/sdk/src/Services/EC2/Generated/Model/Internal/MarshallTransformations/CreateCustomerGatewayRequestMarshaller.cs index 873c84aabbd2..64b48dd40398 100644 --- a/sdk/src/Services/EC2/Generated/Model/Internal/MarshallTransformations/CreateCustomerGatewayRequestMarshaller.cs +++ b/sdk/src/Services/EC2/Generated/Model/Internal/MarshallTransformations/CreateCustomerGatewayRequestMarshaller.cs @@ -70,9 +70,13 @@ public IRequest Marshall(CreateCustomerGatewayRequest publicRequest) { request.Parameters.Add("DeviceName", StringUtils.FromString(publicRequest.DeviceName)); } + if(publicRequest.IsSetIpAddress()) + { + request.Parameters.Add("IpAddress", StringUtils.FromString(publicRequest.IpAddress)); + } if(publicRequest.IsSetPublicIp()) { - request.Parameters.Add("IpAddress", StringUtils.FromString(publicRequest.PublicIp)); + request.Parameters.Add("PublicIp", StringUtils.FromString(publicRequest.PublicIp)); } if(publicRequest.IsSetTagSpecifications()) { diff --git a/sdk/src/Services/EC2/Generated/Model/Internal/MarshallTransformations/CreateVpnConnectionRequestMarshaller.cs b/sdk/src/Services/EC2/Generated/Model/Internal/MarshallTransformations/CreateVpnConnectionRequestMarshaller.cs index 5774aa70b599..79d065ae7317 100644 --- a/sdk/src/Services/EC2/Generated/Model/Internal/MarshallTransformations/CreateVpnConnectionRequestMarshaller.cs +++ b/sdk/src/Services/EC2/Generated/Model/Internal/MarshallTransformations/CreateVpnConnectionRequestMarshaller.cs @@ -76,6 +76,10 @@ public IRequest Marshall(CreateVpnConnectionRequest publicRequest) { request.Parameters.Add("Options" + "." + "LocalIpv6NetworkCidr", StringUtils.FromString(publicRequest.Options.LocalIpv6NetworkCidr)); } + if(publicRequest.Options.IsSetOutsideIpAddressType()) + { + request.Parameters.Add("Options" + "." + "OutsideIpAddressType", StringUtils.FromString(publicRequest.Options.OutsideIpAddressType)); + } if(publicRequest.Options.IsSetRemoteIpv4NetworkCidr()) { request.Parameters.Add("Options" + "." + "RemoteIpv4NetworkCidr", StringUtils.FromString(publicRequest.Options.RemoteIpv4NetworkCidr)); @@ -88,6 +92,10 @@ public IRequest Marshall(CreateVpnConnectionRequest publicRequest) { request.Parameters.Add("Options" + "." + "StaticRoutesOnly", StringUtils.FromBool(publicRequest.Options.StaticRoutesOnly)); } + if(publicRequest.Options.IsSetTransportTransitGatewayAttachmentId()) + { + request.Parameters.Add("Options" + "." + "TransportTransitGatewayAttachmentId", StringUtils.FromString(publicRequest.Options.TransportTransitGatewayAttachmentId)); + } if(publicRequest.Options.IsSetTunnelInsideIpVersion()) { request.Parameters.Add("Options" + "." + "TunnelInsideIpVersion", StringUtils.FromString(publicRequest.Options.TunnelInsideIpVersion)); diff --git a/sdk/src/Services/EC2/Generated/Model/Internal/MarshallTransformations/VpnConnectionOptionsUnmarshaller.cs b/sdk/src/Services/EC2/Generated/Model/Internal/MarshallTransformations/VpnConnectionOptionsUnmarshaller.cs index 8fc6d4d6b18e..3ce6d86d8966 100644 --- a/sdk/src/Services/EC2/Generated/Model/Internal/MarshallTransformations/VpnConnectionOptionsUnmarshaller.cs +++ b/sdk/src/Services/EC2/Generated/Model/Internal/MarshallTransformations/VpnConnectionOptionsUnmarshaller.cs @@ -72,6 +72,12 @@ public VpnConnectionOptions Unmarshall(XmlUnmarshallerContext context) unmarshalledObject.LocalIpv6NetworkCidr = unmarshaller.Unmarshall(context); continue; } + if (context.TestExpression("outsideIpAddressType", targetDepth)) + { + var unmarshaller = StringUnmarshaller.Instance; + unmarshalledObject.OutsideIpAddressType = unmarshaller.Unmarshall(context); + continue; + } if (context.TestExpression("remoteIpv4NetworkCidr", targetDepth)) { var unmarshaller = StringUnmarshaller.Instance; @@ -90,6 +96,12 @@ public VpnConnectionOptions Unmarshall(XmlUnmarshallerContext context) unmarshalledObject.StaticRoutesOnly = unmarshaller.Unmarshall(context); continue; } + if (context.TestExpression("transportTransitGatewayAttachmentId", targetDepth)) + { + var unmarshaller = StringUnmarshaller.Instance; + unmarshalledObject.TransportTransitGatewayAttachmentId = unmarshaller.Unmarshall(context); + continue; + } if (context.TestExpression("tunnelInsideIpVersion", targetDepth)) { var unmarshaller = StringUnmarshaller.Instance; diff --git a/sdk/src/Services/EC2/Generated/Model/VpnConnectionOptions.cs b/sdk/src/Services/EC2/Generated/Model/VpnConnectionOptions.cs index 341ca3d6dd07..7c96e93408cf 100644 --- a/sdk/src/Services/EC2/Generated/Model/VpnConnectionOptions.cs +++ b/sdk/src/Services/EC2/Generated/Model/VpnConnectionOptions.cs @@ -36,9 +36,11 @@ public partial class VpnConnectionOptions private bool? _enableAcceleration; private string _localIpv4NetworkCidr; private string _localIpv6NetworkCidr; + private string _outsideIpAddressType; private string _remoteIpv4NetworkCidr; private string _remoteIpv6NetworkCidr; private bool? _staticRoutesOnly; + private string _transportTransitGatewayAttachmentId; private TunnelInsideIpVersion _tunnelInsideIpVersion; private List _tunnelOptions = new List(); @@ -96,6 +98,32 @@ internal bool IsSetLocalIpv6NetworkCidr() return this._localIpv6NetworkCidr != null; } + /// + /// Gets and sets the property OutsideIpAddressType. + /// + /// The type of IPv4 address assigned to the outside interface of the customer gateway. + /// + /// + /// + /// Valid values: PrivateIpv4 | PublicIpv4 + /// + /// + /// + /// Default: PublicIpv4 + /// + /// + public string OutsideIpAddressType + { + get { return this._outsideIpAddressType; } + set { this._outsideIpAddressType = value; } + } + + // Check to see if OutsideIpAddressType property is set + internal bool IsSetOutsideIpAddressType() + { + return this._outsideIpAddressType != null; + } + /// /// Gets and sets the property RemoteIpv4NetworkCidr. /// @@ -151,6 +179,24 @@ internal bool IsSetStaticRoutesOnly() return this._staticRoutesOnly.HasValue; } + /// + /// Gets and sets the property TransportTransitGatewayAttachmentId. + /// + /// The transit gateway attachment ID in use for the VPN tunnel. + /// + /// + public string TransportTransitGatewayAttachmentId + { + get { return this._transportTransitGatewayAttachmentId; } + set { this._transportTransitGatewayAttachmentId = value; } + } + + // Check to see if TransportTransitGatewayAttachmentId property is set + internal bool IsSetTransportTransitGatewayAttachmentId() + { + return this._transportTransitGatewayAttachmentId != null; + } + /// /// Gets and sets the property TunnelInsideIpVersion. /// diff --git a/sdk/src/Services/EC2/Generated/Model/VpnConnectionOptionsSpecification.cs b/sdk/src/Services/EC2/Generated/Model/VpnConnectionOptionsSpecification.cs index e1b0bdd2fd5e..b6a1faba1b29 100644 --- a/sdk/src/Services/EC2/Generated/Model/VpnConnectionOptionsSpecification.cs +++ b/sdk/src/Services/EC2/Generated/Model/VpnConnectionOptionsSpecification.cs @@ -36,9 +36,11 @@ public partial class VpnConnectionOptionsSpecification private bool? _enableAcceleration; private string _localIpv4NetworkCidr; private string _localIpv6NetworkCidr; + private string _outsideIpAddressType; private string _remoteIpv4NetworkCidr; private string _remoteIpv6NetworkCidr; private bool? _staticRoutesOnly; + private string _transportTransitGatewayAttachmentId; private TunnelInsideIpVersion _tunnelInsideIpVersion; private List _tunnelOptions = new List(); @@ -108,6 +110,33 @@ internal bool IsSetLocalIpv6NetworkCidr() return this._localIpv6NetworkCidr != null; } + /// + /// Gets and sets the property OutsideIpAddressType. + /// + /// The type of IPv4 address assigned to the outside interface of the customer gateway + /// device. + /// + /// + /// + /// Valid values: PrivateIpv4 | PublicIpv4 + /// + /// + /// + /// Default: PublicIpv4 + /// + /// + public string OutsideIpAddressType + { + get { return this._outsideIpAddressType; } + set { this._outsideIpAddressType = value; } + } + + // Check to see if OutsideIpAddressType property is set + internal bool IsSetOutsideIpAddressType() + { + return this._outsideIpAddressType != null; + } + /// /// Gets and sets the property RemoteIpv4NetworkCidr. /// @@ -176,6 +205,28 @@ internal bool IsSetStaticRoutesOnly() return this._staticRoutesOnly.HasValue; } + /// + /// Gets and sets the property TransportTransitGatewayAttachmentId. + /// + /// The transit gateway attachment ID to use for the VPN tunnel. + /// + /// + /// + /// Required if OutsideIpAddressType is set to PrivateIpv4. + /// + /// + public string TransportTransitGatewayAttachmentId + { + get { return this._transportTransitGatewayAttachmentId; } + set { this._transportTransitGatewayAttachmentId = value; } + } + + // Check to see if TransportTransitGatewayAttachmentId property is set + internal bool IsSetTransportTransitGatewayAttachmentId() + { + return this._transportTransitGatewayAttachmentId != null; + } + /// /// Gets and sets the property TunnelInsideIpVersion. /// diff --git a/sdk/src/Services/EC2/Generated/_bcl35/AmazonEC2Client.cs b/sdk/src/Services/EC2/Generated/_bcl35/AmazonEC2Client.cs index 7d62a6507240..51f2cacb8d4b 100644 --- a/sdk/src/Services/EC2/Generated/_bcl35/AmazonEC2Client.cs +++ b/sdk/src/Services/EC2/Generated/_bcl35/AmazonEC2Client.cs @@ -3753,12 +3753,11 @@ public virtual CreateClientVpnRouteResponse EndCreateClientVpnRoute(IAsyncResult #region CreateCustomerGateway /// - /// Provides information to Amazon Web Services about your VPN customer gateway device. - /// The customer gateway is the appliance at your end of the VPN connection. (The device - /// on the Amazon Web Services side of the VPN connection is the virtual private gateway.) - /// You must provide the internet-routable IP address of the customer gateway's external - /// interface. The IP address must be static and can be behind a device performing network - /// address translation (NAT). + /// Provides information to Amazon Web Services about your customer gateway device. The + /// customer gateway device is the appliance at your end of the VPN connection. You must + /// provide the IP address of the customer gateway device’s external interface. The IP + /// address must be static and can be behind a device performing network address translation + /// (NAT). /// /// /// diff --git a/sdk/src/Services/EC2/Generated/_bcl35/IAmazonEC2.cs b/sdk/src/Services/EC2/Generated/_bcl35/IAmazonEC2.cs index ff33e342de70..e09c6619497a 100644 --- a/sdk/src/Services/EC2/Generated/_bcl35/IAmazonEC2.cs +++ b/sdk/src/Services/EC2/Generated/_bcl35/IAmazonEC2.cs @@ -2790,12 +2790,11 @@ public partial interface IAmazonEC2 : IAmazonService, IDisposable /// - /// Provides information to Amazon Web Services about your VPN customer gateway device. - /// The customer gateway is the appliance at your end of the VPN connection. (The device - /// on the Amazon Web Services side of the VPN connection is the virtual private gateway.) - /// You must provide the internet-routable IP address of the customer gateway's external - /// interface. The IP address must be static and can be behind a device performing network - /// address translation (NAT). + /// Provides information to Amazon Web Services about your customer gateway device. The + /// customer gateway device is the appliance at your end of the VPN connection. You must + /// provide the IP address of the customer gateway device’s external interface. The IP + /// address must be static and can be behind a device performing network address translation + /// (NAT). /// /// /// diff --git a/sdk/src/Services/EC2/Generated/_bcl45/AmazonEC2Client.cs b/sdk/src/Services/EC2/Generated/_bcl45/AmazonEC2Client.cs index 1dc319d3ac4d..ac530e4a9f95 100644 --- a/sdk/src/Services/EC2/Generated/_bcl45/AmazonEC2Client.cs +++ b/sdk/src/Services/EC2/Generated/_bcl45/AmazonEC2Client.cs @@ -3709,12 +3709,11 @@ public virtual CreateClientVpnRouteResponse CreateClientVpnRoute(CreateClientVpn /// - /// Provides information to Amazon Web Services about your VPN customer gateway device. - /// The customer gateway is the appliance at your end of the VPN connection. (The device - /// on the Amazon Web Services side of the VPN connection is the virtual private gateway.) - /// You must provide the internet-routable IP address of the customer gateway's external - /// interface. The IP address must be static and can be behind a device performing network - /// address translation (NAT). + /// Provides information to Amazon Web Services about your customer gateway device. The + /// customer gateway device is the appliance at your end of the VPN connection. You must + /// provide the IP address of the customer gateway device’s external interface. The IP + /// address must be static and can be behind a device performing network address translation + /// (NAT). /// /// /// @@ -3748,12 +3747,11 @@ public virtual CreateCustomerGatewayResponse CreateCustomerGateway(CreateCustome /// - /// Provides information to Amazon Web Services about your VPN customer gateway device. - /// The customer gateway is the appliance at your end of the VPN connection. (The device - /// on the Amazon Web Services side of the VPN connection is the virtual private gateway.) - /// You must provide the internet-routable IP address of the customer gateway's external - /// interface. The IP address must be static and can be behind a device performing network - /// address translation (NAT). + /// Provides information to Amazon Web Services about your customer gateway device. The + /// customer gateway device is the appliance at your end of the VPN connection. You must + /// provide the IP address of the customer gateway device’s external interface. The IP + /// address must be static and can be behind a device performing network address translation + /// (NAT). /// /// /// diff --git a/sdk/src/Services/EC2/Generated/_bcl45/IAmazonEC2.cs b/sdk/src/Services/EC2/Generated/_bcl45/IAmazonEC2.cs index 6d6527e9eea7..c3f892c379ca 100644 --- a/sdk/src/Services/EC2/Generated/_bcl45/IAmazonEC2.cs +++ b/sdk/src/Services/EC2/Generated/_bcl45/IAmazonEC2.cs @@ -2794,12 +2794,11 @@ public partial interface IAmazonEC2 : IAmazonService, IDisposable /// - /// Provides information to Amazon Web Services about your VPN customer gateway device. - /// The customer gateway is the appliance at your end of the VPN connection. (The device - /// on the Amazon Web Services side of the VPN connection is the virtual private gateway.) - /// You must provide the internet-routable IP address of the customer gateway's external - /// interface. The IP address must be static and can be behind a device performing network - /// address translation (NAT). + /// Provides information to Amazon Web Services about your customer gateway device. The + /// customer gateway device is the appliance at your end of the VPN connection. You must + /// provide the IP address of the customer gateway device’s external interface. The IP + /// address must be static and can be behind a device performing network address translation + /// (NAT). /// /// /// @@ -2827,12 +2826,11 @@ public partial interface IAmazonEC2 : IAmazonService, IDisposable /// - /// Provides information to Amazon Web Services about your VPN customer gateway device. - /// The customer gateway is the appliance at your end of the VPN connection. (The device - /// on the Amazon Web Services side of the VPN connection is the virtual private gateway.) - /// You must provide the internet-routable IP address of the customer gateway's external - /// interface. The IP address must be static and can be behind a device performing network - /// address translation (NAT). + /// Provides information to Amazon Web Services about your customer gateway device. The + /// customer gateway device is the appliance at your end of the VPN connection. You must + /// provide the IP address of the customer gateway device’s external interface. The IP + /// address must be static and can be behind a device performing network address translation + /// (NAT). /// /// /// diff --git a/sdk/src/Services/EC2/Generated/_netstandard/AmazonEC2Client.cs b/sdk/src/Services/EC2/Generated/_netstandard/AmazonEC2Client.cs index 1c4959ade445..0f2f78b98b54 100644 --- a/sdk/src/Services/EC2/Generated/_netstandard/AmazonEC2Client.cs +++ b/sdk/src/Services/EC2/Generated/_netstandard/AmazonEC2Client.cs @@ -2735,12 +2735,11 @@ internal virtual CreateCustomerGatewayResponse CreateCustomerGateway(CreateCusto /// - /// Provides information to Amazon Web Services about your VPN customer gateway device. - /// The customer gateway is the appliance at your end of the VPN connection. (The device - /// on the Amazon Web Services side of the VPN connection is the virtual private gateway.) - /// You must provide the internet-routable IP address of the customer gateway's external - /// interface. The IP address must be static and can be behind a device performing network - /// address translation (NAT). + /// Provides information to Amazon Web Services about your customer gateway device. The + /// customer gateway device is the appliance at your end of the VPN connection. You must + /// provide the IP address of the customer gateway device’s external interface. The IP + /// address must be static and can be behind a device performing network address translation + /// (NAT). /// /// /// diff --git a/sdk/src/Services/EC2/Generated/_netstandard/IAmazonEC2.cs b/sdk/src/Services/EC2/Generated/_netstandard/IAmazonEC2.cs index 917ac5de9405..3a2f9a830edd 100644 --- a/sdk/src/Services/EC2/Generated/_netstandard/IAmazonEC2.cs +++ b/sdk/src/Services/EC2/Generated/_netstandard/IAmazonEC2.cs @@ -1649,12 +1649,11 @@ public partial interface IAmazonEC2 : IAmazonService, IDisposable /// - /// Provides information to Amazon Web Services about your VPN customer gateway device. - /// The customer gateway is the appliance at your end of the VPN connection. (The device - /// on the Amazon Web Services side of the VPN connection is the virtual private gateway.) - /// You must provide the internet-routable IP address of the customer gateway's external - /// interface. The IP address must be static and can be behind a device performing network - /// address translation (NAT). + /// Provides information to Amazon Web Services about your customer gateway device. The + /// customer gateway device is the appliance at your end of the VPN connection. You must + /// provide the IP address of the customer gateway device’s external interface. The IP + /// address must be static and can be behind a device performing network address translation + /// (NAT). /// /// ///