aws-sdk-apigateway 1.6.0 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -32,6 +32,7 @@ module Aws::APIGateway
32
32
  ClientCertificate = Shapes::StructureShape.new(name: 'ClientCertificate')
33
33
  ClientCertificates = Shapes::StructureShape.new(name: 'ClientCertificates')
34
34
  ConflictException = Shapes::StructureShape.new(name: 'ConflictException')
35
+ ConnectionType = Shapes::StringShape.new(name: 'ConnectionType')
35
36
  ContentHandlingStrategy = Shapes::StringShape.new(name: 'ContentHandlingStrategy')
36
37
  CreateApiKeyRequest = Shapes::StructureShape.new(name: 'CreateApiKeyRequest')
37
38
  CreateAuthorizerRequest = Shapes::StructureShape.new(name: 'CreateAuthorizerRequest')
@@ -47,6 +48,7 @@ module Aws::APIGateway
47
48
  CreateStageRequest = Shapes::StructureShape.new(name: 'CreateStageRequest')
48
49
  CreateUsagePlanKeyRequest = Shapes::StructureShape.new(name: 'CreateUsagePlanKeyRequest')
49
50
  CreateUsagePlanRequest = Shapes::StructureShape.new(name: 'CreateUsagePlanRequest')
51
+ CreateVpcLinkRequest = Shapes::StructureShape.new(name: 'CreateVpcLinkRequest')
50
52
  DeleteApiKeyRequest = Shapes::StructureShape.new(name: 'DeleteApiKeyRequest')
51
53
  DeleteAuthorizerRequest = Shapes::StructureShape.new(name: 'DeleteAuthorizerRequest')
52
54
  DeleteBasePathMappingRequest = Shapes::StructureShape.new(name: 'DeleteBasePathMappingRequest')
@@ -67,6 +69,7 @@ module Aws::APIGateway
67
69
  DeleteStageRequest = Shapes::StructureShape.new(name: 'DeleteStageRequest')
68
70
  DeleteUsagePlanKeyRequest = Shapes::StructureShape.new(name: 'DeleteUsagePlanKeyRequest')
69
71
  DeleteUsagePlanRequest = Shapes::StructureShape.new(name: 'DeleteUsagePlanRequest')
72
+ DeleteVpcLinkRequest = Shapes::StructureShape.new(name: 'DeleteVpcLinkRequest')
70
73
  Deployment = Shapes::StructureShape.new(name: 'Deployment')
71
74
  DeploymentCanarySettings = Shapes::StructureShape.new(name: 'DeploymentCanarySettings')
72
75
  Deployments = Shapes::StructureShape.new(name: 'Deployments')
@@ -133,6 +136,8 @@ module Aws::APIGateway
133
136
  GetUsagePlanRequest = Shapes::StructureShape.new(name: 'GetUsagePlanRequest')
134
137
  GetUsagePlansRequest = Shapes::StructureShape.new(name: 'GetUsagePlansRequest')
135
138
  GetUsageRequest = Shapes::StructureShape.new(name: 'GetUsageRequest')
139
+ GetVpcLinkRequest = Shapes::StructureShape.new(name: 'GetVpcLinkRequest')
140
+ GetVpcLinksRequest = Shapes::StructureShape.new(name: 'GetVpcLinksRequest')
136
141
  ImportApiKeysRequest = Shapes::StructureShape.new(name: 'ImportApiKeysRequest')
137
142
  ImportDocumentationPartsRequest = Shapes::StructureShape.new(name: 'ImportDocumentationPartsRequest')
138
143
  ImportRestApiRequest = Shapes::StructureShape.new(name: 'ImportRestApiRequest')
@@ -167,6 +172,7 @@ module Aws::APIGateway
167
172
  ListOfUsage = Shapes::ListShape.new(name: 'ListOfUsage')
168
173
  ListOfUsagePlan = Shapes::ListShape.new(name: 'ListOfUsagePlan')
169
174
  ListOfUsagePlanKey = Shapes::ListShape.new(name: 'ListOfUsagePlanKey')
175
+ ListOfVpcLink = Shapes::ListShape.new(name: 'ListOfVpcLink')
170
176
  LocationStatusType = Shapes::StringShape.new(name: 'LocationStatusType')
171
177
  Long = Shapes::IntegerShape.new(name: 'Long')
172
178
  MapOfHeaderValues = Shapes::MapShape.new(name: 'MapOfHeaderValues')
@@ -248,11 +254,15 @@ module Aws::APIGateway
248
254
  UpdateStageRequest = Shapes::StructureShape.new(name: 'UpdateStageRequest')
249
255
  UpdateUsagePlanRequest = Shapes::StructureShape.new(name: 'UpdateUsagePlanRequest')
250
256
  UpdateUsageRequest = Shapes::StructureShape.new(name: 'UpdateUsageRequest')
257
+ UpdateVpcLinkRequest = Shapes::StructureShape.new(name: 'UpdateVpcLinkRequest')
251
258
  Usage = Shapes::StructureShape.new(name: 'Usage')
252
259
  UsagePlan = Shapes::StructureShape.new(name: 'UsagePlan')
253
260
  UsagePlanKey = Shapes::StructureShape.new(name: 'UsagePlanKey')
254
261
  UsagePlanKeys = Shapes::StructureShape.new(name: 'UsagePlanKeys')
255
262
  UsagePlans = Shapes::StructureShape.new(name: 'UsagePlans')
263
+ VpcLink = Shapes::StructureShape.new(name: 'VpcLink')
264
+ VpcLinkStatus = Shapes::StringShape.new(name: 'VpcLinkStatus')
265
+ VpcLinks = Shapes::StructureShape.new(name: 'VpcLinks')
256
266
 
257
267
  AccessLogSettings.add_member(:format, Shapes::ShapeRef.new(shape: String, location_name: "format"))
258
268
  AccessLogSettings.add_member(:destination_arn, Shapes::ShapeRef.new(shape: String, location_name: "destinationArn"))
@@ -438,6 +448,11 @@ module Aws::APIGateway
438
448
  CreateUsagePlanRequest.add_member(:quota, Shapes::ShapeRef.new(shape: QuotaSettings, location_name: "quota"))
439
449
  CreateUsagePlanRequest.struct_class = Types::CreateUsagePlanRequest
440
450
 
451
+ CreateVpcLinkRequest.add_member(:name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "name"))
452
+ CreateVpcLinkRequest.add_member(:description, Shapes::ShapeRef.new(shape: String, location_name: "description"))
453
+ CreateVpcLinkRequest.add_member(:target_arns, Shapes::ShapeRef.new(shape: ListOfString, required: true, location_name: "targetArns"))
454
+ CreateVpcLinkRequest.struct_class = Types::CreateVpcLinkRequest
455
+
441
456
  DeleteApiKeyRequest.add_member(:api_key, Shapes::ShapeRef.new(shape: String, required: true, location: "uri", location_name: "api_Key"))
442
457
  DeleteApiKeyRequest.struct_class = Types::DeleteApiKeyRequest
443
458
 
@@ -519,6 +534,9 @@ module Aws::APIGateway
519
534
  DeleteUsagePlanRequest.add_member(:usage_plan_id, Shapes::ShapeRef.new(shape: String, required: true, location: "uri", location_name: "usageplanId"))
520
535
  DeleteUsagePlanRequest.struct_class = Types::DeleteUsagePlanRequest
521
536
 
537
+ DeleteVpcLinkRequest.add_member(:vpc_link_id, Shapes::ShapeRef.new(shape: String, required: true, location: "uri", location_name: "vpclink_id"))
538
+ DeleteVpcLinkRequest.struct_class = Types::DeleteVpcLinkRequest
539
+
522
540
  Deployment.add_member(:id, Shapes::ShapeRef.new(shape: String, location_name: "id"))
523
541
  Deployment.add_member(:description, Shapes::ShapeRef.new(shape: String, location_name: "description"))
524
542
  Deployment.add_member(:created_date, Shapes::ShapeRef.new(shape: Timestamp, location_name: "createdDate"))
@@ -815,6 +833,13 @@ module Aws::APIGateway
815
833
  GetUsageRequest.add_member(:limit, Shapes::ShapeRef.new(shape: NullableInteger, location: "querystring", location_name: "limit"))
816
834
  GetUsageRequest.struct_class = Types::GetUsageRequest
817
835
 
836
+ GetVpcLinkRequest.add_member(:vpc_link_id, Shapes::ShapeRef.new(shape: String, required: true, location: "uri", location_name: "vpclink_id"))
837
+ GetVpcLinkRequest.struct_class = Types::GetVpcLinkRequest
838
+
839
+ GetVpcLinksRequest.add_member(:position, Shapes::ShapeRef.new(shape: String, location: "querystring", location_name: "position"))
840
+ GetVpcLinksRequest.add_member(:limit, Shapes::ShapeRef.new(shape: NullableInteger, location: "querystring", location_name: "limit"))
841
+ GetVpcLinksRequest.struct_class = Types::GetVpcLinksRequest
842
+
818
843
  ImportApiKeysRequest.add_member(:body, Shapes::ShapeRef.new(shape: Blob, required: true, location_name: "body"))
819
844
  ImportApiKeysRequest.add_member(:format, Shapes::ShapeRef.new(shape: ApiKeysFormat, required: true, location: "querystring", location_name: "format"))
820
845
  ImportApiKeysRequest.add_member(:fail_on_warnings, Shapes::ShapeRef.new(shape: Boolean, location: "querystring", location_name: "failonwarnings"))
@@ -840,6 +865,8 @@ module Aws::APIGateway
840
865
  Integration.add_member(:type, Shapes::ShapeRef.new(shape: IntegrationType, location_name: "type"))
841
866
  Integration.add_member(:http_method, Shapes::ShapeRef.new(shape: String, location_name: "httpMethod"))
842
867
  Integration.add_member(:uri, Shapes::ShapeRef.new(shape: String, location_name: "uri"))
868
+ Integration.add_member(:connection_type, Shapes::ShapeRef.new(shape: ConnectionType, location_name: "connectionType"))
869
+ Integration.add_member(:connection_id, Shapes::ShapeRef.new(shape: String, location_name: "connectionId"))
843
870
  Integration.add_member(:credentials, Shapes::ShapeRef.new(shape: String, location_name: "credentials"))
844
871
  Integration.add_member(:request_parameters, Shapes::ShapeRef.new(shape: MapOfStringToString, location_name: "requestParameters"))
845
872
  Integration.add_member(:request_templates, Shapes::ShapeRef.new(shape: MapOfStringToString, location_name: "requestTemplates"))
@@ -910,6 +937,8 @@ module Aws::APIGateway
910
937
 
911
938
  ListOfUsagePlanKey.member = Shapes::ShapeRef.new(shape: UsagePlanKey)
912
939
 
940
+ ListOfVpcLink.member = Shapes::ShapeRef.new(shape: VpcLink)
941
+
913
942
  MapOfHeaderValues.key = Shapes::ShapeRef.new(shape: String)
914
943
  MapOfHeaderValues.value = Shapes::ShapeRef.new(shape: String)
915
944
 
@@ -1006,6 +1035,8 @@ module Aws::APIGateway
1006
1035
  PutIntegrationRequest.add_member(:type, Shapes::ShapeRef.new(shape: IntegrationType, required: true, location_name: "type"))
1007
1036
  PutIntegrationRequest.add_member(:integration_http_method, Shapes::ShapeRef.new(shape: String, location_name: "httpMethod"))
1008
1037
  PutIntegrationRequest.add_member(:uri, Shapes::ShapeRef.new(shape: String, location_name: "uri"))
1038
+ PutIntegrationRequest.add_member(:connection_type, Shapes::ShapeRef.new(shape: ConnectionType, location_name: "connectionType"))
1039
+ PutIntegrationRequest.add_member(:connection_id, Shapes::ShapeRef.new(shape: String, location_name: "connectionId"))
1009
1040
  PutIntegrationRequest.add_member(:credentials, Shapes::ShapeRef.new(shape: String, location_name: "credentials"))
1010
1041
  PutIntegrationRequest.add_member(:request_parameters, Shapes::ShapeRef.new(shape: MapOfStringToString, location_name: "requestParameters"))
1011
1042
  PutIntegrationRequest.add_member(:request_templates, Shapes::ShapeRef.new(shape: MapOfStringToString, location_name: "requestTemplates"))
@@ -1288,6 +1319,10 @@ module Aws::APIGateway
1288
1319
  UpdateUsageRequest.add_member(:patch_operations, Shapes::ShapeRef.new(shape: ListOfPatchOperation, location_name: "patchOperations"))
1289
1320
  UpdateUsageRequest.struct_class = Types::UpdateUsageRequest
1290
1321
 
1322
+ UpdateVpcLinkRequest.add_member(:vpc_link_id, Shapes::ShapeRef.new(shape: String, required: true, location: "uri", location_name: "vpclink_id"))
1323
+ UpdateVpcLinkRequest.add_member(:patch_operations, Shapes::ShapeRef.new(shape: ListOfPatchOperation, location_name: "patchOperations"))
1324
+ UpdateVpcLinkRequest.struct_class = Types::UpdateVpcLinkRequest
1325
+
1291
1326
  Usage.add_member(:usage_plan_id, Shapes::ShapeRef.new(shape: String, location_name: "usagePlanId"))
1292
1327
  Usage.add_member(:start_date, Shapes::ShapeRef.new(shape: String, location_name: "startDate"))
1293
1328
  Usage.add_member(:end_date, Shapes::ShapeRef.new(shape: String, location_name: "endDate"))
@@ -1318,6 +1353,18 @@ module Aws::APIGateway
1318
1353
  UsagePlans.add_member(:items, Shapes::ShapeRef.new(shape: ListOfUsagePlan, location_name: "item"))
1319
1354
  UsagePlans.struct_class = Types::UsagePlans
1320
1355
 
1356
+ VpcLink.add_member(:id, Shapes::ShapeRef.new(shape: String, location_name: "id"))
1357
+ VpcLink.add_member(:name, Shapes::ShapeRef.new(shape: String, location_name: "name"))
1358
+ VpcLink.add_member(:description, Shapes::ShapeRef.new(shape: String, location_name: "description"))
1359
+ VpcLink.add_member(:target_arns, Shapes::ShapeRef.new(shape: ListOfString, location_name: "targetArns"))
1360
+ VpcLink.add_member(:status, Shapes::ShapeRef.new(shape: VpcLinkStatus, location_name: "status"))
1361
+ VpcLink.add_member(:status_message, Shapes::ShapeRef.new(shape: String, location_name: "statusMessage"))
1362
+ VpcLink.struct_class = Types::VpcLink
1363
+
1364
+ VpcLinks.add_member(:position, Shapes::ShapeRef.new(shape: String, location_name: "position"))
1365
+ VpcLinks.add_member(:items, Shapes::ShapeRef.new(shape: ListOfVpcLink, location_name: "item"))
1366
+ VpcLinks.struct_class = Types::VpcLinks
1367
+
1321
1368
 
1322
1369
  # @api private
1323
1370
  API = Seahorse::Model::Api.new.tap do |api|
@@ -1520,6 +1567,17 @@ module Aws::APIGateway
1520
1567
  o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
1521
1568
  end)
1522
1569
 
1570
+ api.add_operation(:create_vpc_link, Seahorse::Model::Operation.new.tap do |o|
1571
+ o.name = "CreateVpcLink"
1572
+ o.http_method = "POST"
1573
+ o.http_request_uri = "/vpclinks"
1574
+ o.input = Shapes::ShapeRef.new(shape: CreateVpcLinkRequest)
1575
+ o.output = Shapes::ShapeRef.new(shape: VpcLink)
1576
+ o.errors << Shapes::ShapeRef.new(shape: UnauthorizedException)
1577
+ o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
1578
+ o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
1579
+ end)
1580
+
1523
1581
  api.add_operation(:delete_api_key, Seahorse::Model::Operation.new.tap do |o|
1524
1582
  o.name = "DeleteApiKey"
1525
1583
  o.http_method = "DELETE"
@@ -1769,6 +1827,18 @@ module Aws::APIGateway
1769
1827
  o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
1770
1828
  end)
1771
1829
 
1830
+ api.add_operation(:delete_vpc_link, Seahorse::Model::Operation.new.tap do |o|
1831
+ o.name = "DeleteVpcLink"
1832
+ o.http_method = "DELETE"
1833
+ o.http_request_uri = "/vpclinks/{vpclink_id}"
1834
+ o.input = Shapes::ShapeRef.new(shape: DeleteVpcLinkRequest)
1835
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
1836
+ o.errors << Shapes::ShapeRef.new(shape: UnauthorizedException)
1837
+ o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
1838
+ o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
1839
+ o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
1840
+ end)
1841
+
1772
1842
  api.add_operation(:flush_stage_authorizers_cache, Seahorse::Model::Operation.new.tap do |o|
1773
1843
  o.name = "FlushStageAuthorizersCache"
1774
1844
  o.http_method = "DELETE"
@@ -2363,6 +2433,34 @@ module Aws::APIGateway
2363
2433
  )
2364
2434
  end)
2365
2435
 
2436
+ api.add_operation(:get_vpc_link, Seahorse::Model::Operation.new.tap do |o|
2437
+ o.name = "GetVpcLink"
2438
+ o.http_method = "GET"
2439
+ o.http_request_uri = "/vpclinks/{vpclink_id}"
2440
+ o.input = Shapes::ShapeRef.new(shape: GetVpcLinkRequest)
2441
+ o.output = Shapes::ShapeRef.new(shape: VpcLink)
2442
+ o.errors << Shapes::ShapeRef.new(shape: UnauthorizedException)
2443
+ o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
2444
+ o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
2445
+ end)
2446
+
2447
+ api.add_operation(:get_vpc_links, Seahorse::Model::Operation.new.tap do |o|
2448
+ o.name = "GetVpcLinks"
2449
+ o.http_method = "GET"
2450
+ o.http_request_uri = "/vpclinks"
2451
+ o.input = Shapes::ShapeRef.new(shape: GetVpcLinksRequest)
2452
+ o.output = Shapes::ShapeRef.new(shape: VpcLinks)
2453
+ o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
2454
+ o.errors << Shapes::ShapeRef.new(shape: UnauthorizedException)
2455
+ o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
2456
+ o[:pager] = Aws::Pager.new(
2457
+ limit_key: "limit",
2458
+ tokens: {
2459
+ "position" => "position"
2460
+ }
2461
+ )
2462
+ end)
2463
+
2366
2464
  api.add_operation(:import_api_keys, Seahorse::Model::Operation.new.tap do |o|
2367
2465
  o.name = "ImportApiKeys"
2368
2466
  o.http_method = "POST"
@@ -2777,6 +2875,19 @@ module Aws::APIGateway
2777
2875
  o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
2778
2876
  o.errors << Shapes::ShapeRef.new(shape: ConflictException)
2779
2877
  end)
2878
+
2879
+ api.add_operation(:update_vpc_link, Seahorse::Model::Operation.new.tap do |o|
2880
+ o.name = "UpdateVpcLink"
2881
+ o.http_method = "PATCH"
2882
+ o.http_request_uri = "/vpclinks/{vpclink_id}"
2883
+ o.input = Shapes::ShapeRef.new(shape: UpdateVpcLinkRequest)
2884
+ o.output = Shapes::ShapeRef.new(shape: VpcLink)
2885
+ o.errors << Shapes::ShapeRef.new(shape: UnauthorizedException)
2886
+ o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
2887
+ o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
2888
+ o.errors << Shapes::ShapeRef.new(shape: ConflictException)
2889
+ o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
2890
+ end)
2780
2891
  end
2781
2892
 
2782
2893
  end
@@ -31,7 +31,7 @@ module Aws::APIGateway
31
31
  include Aws::Structure
32
32
  end
33
33
 
34
- # Represents an AWS account that is associated with Amazon API Gateway.
34
+ # Represents an AWS account that is associated with API Gateway.
35
35
  #
36
36
  # <div class="remarks" markdown="1">
37
37
  # To view the account info, call `GET` on this resource.
@@ -290,11 +290,10 @@ module Aws::APIGateway
290
290
  # @return [String]
291
291
  #
292
292
  # @!attribute [rw] authorizer_credentials
293
- # Specifies the required credentials as an IAM role for Amazon API
294
- # Gateway to invoke the authorizer. To specify an IAM role for Amazon
295
- # API Gateway to assume, use the role's Amazon Resource Name (ARN).
296
- # To use resource-based permissions on the Lambda function, specify
297
- # null.
293
+ # Specifies the required credentials as an IAM role for API Gateway to
294
+ # invoke the authorizer. To specify an IAM role for API Gateway to
295
+ # assume, use the role's Amazon Resource Name (ARN). To use
296
+ # resource-based permissions on the Lambda function, specify null.
298
297
  # @return [String]
299
298
  #
300
299
  # @!attribute [rw] identity_source
@@ -324,8 +323,8 @@ module Aws::APIGateway
324
323
  #
325
324
  # @!attribute [rw] identity_validation_expression
326
325
  # A validation expression for the incoming identity token. For `TOKEN`
327
- # authorizers, this value is a regular expression. Amazon API Gateway
328
- # will match the incoming token from the client against the specified
326
+ # authorizers, this value is a regular expression. API Gateway will
327
+ # match the incoming token from the client against the specified
329
328
  # regular expression. It will invoke the authorizer's Lambda function
330
329
  # there is a match. Otherwise, it will return a 401 Unauthorized
331
330
  # response without calling the Lambda function. The validation
@@ -671,11 +670,10 @@ module Aws::APIGateway
671
670
  # @return [String]
672
671
  #
673
672
  # @!attribute [rw] authorizer_credentials
674
- # Specifies the required credentials as an IAM role for Amazon API
675
- # Gateway to invoke the authorizer. To specify an IAM role for Amazon
676
- # API Gateway to assume, use the role's Amazon Resource Name (ARN).
677
- # To use resource-based permissions on the Lambda function, specify
678
- # null.
673
+ # Specifies the required credentials as an IAM role for API Gateway to
674
+ # invoke the authorizer. To specify an IAM role for API Gateway to
675
+ # assume, use the role's Amazon Resource Name (ARN). To use
676
+ # resource-based permissions on the Lambda function, specify null.
679
677
  # @return [String]
680
678
  #
681
679
  # @!attribute [rw] identity_source
@@ -705,8 +703,8 @@ module Aws::APIGateway
705
703
  #
706
704
  # @!attribute [rw] identity_validation_expression
707
705
  # A validation expression for the incoming identity token. For `TOKEN`
708
- # authorizers, this value is a regular expression. Amazon API Gateway
709
- # will match the incoming token from the client against the specified
706
+ # authorizers, this value is a regular expression. API Gateway will
707
+ # match the incoming token from the client against the specified
710
708
  # regular expression. It will invoke the authorizer's Lambda function
711
709
  # there is a match. Otherwise, it will return a 401 Unauthorized
712
710
  # response without calling the Lambda function. The validation
@@ -734,7 +732,7 @@ module Aws::APIGateway
734
732
  include Aws::Structure
735
733
  end
736
734
 
737
- # Requests Amazon API Gateway to create a new BasePathMapping resource.
735
+ # Requests API Gateway to create a new BasePathMapping resource.
738
736
  #
739
737
  # @note When making an API call, you may pass CreateBasePathMappingRequest
740
738
  # data as a hash:
@@ -775,7 +773,7 @@ module Aws::APIGateway
775
773
  include Aws::Structure
776
774
  end
777
775
 
778
- # Requests Amazon API Gateway to create a Deployment resource.
776
+ # Requests API Gateway to create a Deployment resource.
779
777
  #
780
778
  # @note When making an API call, you may pass CreateDeploymentRequest
781
779
  # data as a hash:
@@ -1098,7 +1096,7 @@ module Aws::APIGateway
1098
1096
  include Aws::Structure
1099
1097
  end
1100
1098
 
1101
- # Requests Amazon API Gateway to create a Resource resource.
1099
+ # Requests API Gateway to create a Resource resource.
1102
1100
  #
1103
1101
  # @note When making an API call, you may pass CreateResourceRequest
1104
1102
  # data as a hash:
@@ -1180,7 +1178,7 @@ module Aws::APIGateway
1180
1178
  include Aws::Structure
1181
1179
  end
1182
1180
 
1183
- # Requests Amazon API Gateway to create a Stage resource.
1181
+ # Requests API Gateway to create a Stage resource.
1184
1182
  #
1185
1183
  # @note When making an API call, you may pass CreateStageRequest
1186
1184
  # data as a hash:
@@ -1211,7 +1209,7 @@ module Aws::APIGateway
1211
1209
  # @return [String]
1212
1210
  #
1213
1211
  # @!attribute [rw] stage_name
1214
- # \\\{Required\] The name for the Stage resource.
1212
+ # \[Required\] The name for the Stage resource.
1215
1213
  # @return [String]
1216
1214
  #
1217
1215
  # @!attribute [rw] deployment_id
@@ -1347,6 +1345,41 @@ module Aws::APIGateway
1347
1345
  include Aws::Structure
1348
1346
  end
1349
1347
 
1348
+ # Creates a VPC link, under the caller's account in a selected region,
1349
+ # in an asynchronous operation that typically takes 2-4 minutes to
1350
+ # complete and become operational. The caller must have permissions to
1351
+ # create and update VPC Endpoint services.
1352
+ #
1353
+ # @note When making an API call, you may pass CreateVpcLinkRequest
1354
+ # data as a hash:
1355
+ #
1356
+ # {
1357
+ # name: "String", # required
1358
+ # description: "String",
1359
+ # target_arns: ["String"], # required
1360
+ # }
1361
+ #
1362
+ # @!attribute [rw] name
1363
+ # \[Required\] The name used to label and identify the VPC link.
1364
+ # @return [String]
1365
+ #
1366
+ # @!attribute [rw] description
1367
+ # The description of the VPC link.
1368
+ # @return [String]
1369
+ #
1370
+ # @!attribute [rw] target_arns
1371
+ # \[Required\] The ARNs of network load balancers of the VPC targeted
1372
+ # by the VPC link. The network load balancers must be owned by the
1373
+ # same AWS account of the API owner.
1374
+ # @return [Array<String>]
1375
+ #
1376
+ class CreateVpcLinkRequest < Struct.new(
1377
+ :name,
1378
+ :description,
1379
+ :target_arns)
1380
+ include Aws::Structure
1381
+ end
1382
+
1350
1383
  # A request to delete the ApiKey resource.
1351
1384
  #
1352
1385
  # @note When making an API call, you may pass DeleteApiKeyRequest
@@ -1431,7 +1464,7 @@ module Aws::APIGateway
1431
1464
  include Aws::Structure
1432
1465
  end
1433
1466
 
1434
- # Requests Amazon API Gateway to delete a Deployment resource.
1467
+ # Requests API Gateway to delete a Deployment resource.
1435
1468
  #
1436
1469
  # @note When making an API call, you may pass DeleteDeploymentRequest
1437
1470
  # data as a hash:
@@ -1790,7 +1823,7 @@ module Aws::APIGateway
1790
1823
  include Aws::Structure
1791
1824
  end
1792
1825
 
1793
- # Requests Amazon API Gateway to delete a Stage resource.
1826
+ # Requests API Gateway to delete a Stage resource.
1794
1827
  #
1795
1828
  # @note When making an API call, you may pass DeleteStageRequest
1796
1829
  # data as a hash:
@@ -1859,6 +1892,25 @@ module Aws::APIGateway
1859
1892
  include Aws::Structure
1860
1893
  end
1861
1894
 
1895
+ # Deletes an existing VpcLink of a specified identifier.
1896
+ #
1897
+ # @note When making an API call, you may pass DeleteVpcLinkRequest
1898
+ # data as a hash:
1899
+ #
1900
+ # {
1901
+ # vpc_link_id: "String", # required
1902
+ # }
1903
+ #
1904
+ # @!attribute [rw] vpc_link_id
1905
+ # \[Required\] The identifier of the VpcLink. It is used in an
1906
+ # Integration to reference this VpcLink.
1907
+ # @return [String]
1908
+ #
1909
+ class DeleteVpcLinkRequest < Struct.new(
1910
+ :vpc_link_id)
1911
+ include Aws::Structure
1912
+ end
1913
+
1862
1914
  # An immutable representation of a RestApi resource that can be called
1863
1915
  # by users using Stages. A deployment must be associated with a Stage
1864
1916
  # for it to be callable over the Internet.
@@ -2005,8 +2057,8 @@ module Aws::APIGateway
2005
2057
  # [1]: http://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-documenting-api.html
2006
2058
  #
2007
2059
  # @!attribute [rw] id
2008
- # The DocumentationPart identifier, generated by Amazon API Gateway
2009
- # when the `DocumentationPart` is created.
2060
+ # The DocumentationPart identifier, generated by API Gateway when the
2061
+ # `DocumentationPart` is created.
2010
2062
  # @return [String]
2011
2063
  #
2012
2064
  # @!attribute [rw] location
@@ -2041,7 +2093,7 @@ module Aws::APIGateway
2041
2093
  #
2042
2094
  # <div class="remarks">
2043
2095
  # This is used to return the result when documentation parts in an
2044
- # external (e.g., Swagger) file are imported into Amazon API Gateway
2096
+ # external (e.g., Swagger) file are imported into API Gateway
2045
2097
  # </div>
2046
2098
  #
2047
2099
  # <div class="seeAlso">
@@ -2235,8 +2287,8 @@ module Aws::APIGateway
2235
2287
  # (RestApi).
2236
2288
  #
2237
2289
  # <div class="Remarks" markdown="1">
2238
- # When you deploy an API, Amazon API Gateway creates a default host name
2239
- # for the API. This default API host name is of the
2290
+ # When you deploy an API, API Gateway creates a default host name for
2291
+ # the API. This default API host name is of the
2240
2292
  # `\{restapi-id\}.execute-api.\{region\}.amazonaws.com` format. With the
2241
2293
  # default host name, you can access the API's root resource with the
2242
2294
  # URL of
@@ -2280,8 +2332,8 @@ module Aws::APIGateway
2280
2332
  # The domain name associated with the regional endpoint for this
2281
2333
  # custom domain name. You set up this association by adding a DNS
2282
2334
  # record that points the custom domain name to this regional domain
2283
- # name. The regional domain name is returned by Amazon API Gateway
2284
- # when you create a regional endpoint.
2335
+ # name. The regional domain name is returned by API Gateway when you
2336
+ # create a regional endpoint.
2285
2337
  # @return [String]
2286
2338
  #
2287
2339
  # @!attribute [rw] regional_hosted_zone_id
@@ -2443,7 +2495,7 @@ module Aws::APIGateway
2443
2495
  include Aws::Structure
2444
2496
  end
2445
2497
 
2446
- # Requests Amazon API Gateway to flush a stage's cache.
2498
+ # Requests API Gateway to flush a stage's cache.
2447
2499
  #
2448
2500
  # @note When making an API call, you may pass FlushStageCacheRequest
2449
2501
  # data as a hash:
@@ -2472,7 +2524,7 @@ module Aws::APIGateway
2472
2524
  #
2473
2525
  # <div class="remarks">
2474
2526
  # For more information about valid gateway response types, see [Gateway
2475
- # Response Types Supported by Amazon API Gateway][1]
2527
+ # Response Types Supported by API Gateway][1]
2476
2528
  # <div class="example" markdown="1">
2477
2529
  # #### Example: Get a Gateway Response of a given response type
2478
2530
  #
@@ -2547,7 +2599,7 @@ module Aws::APIGateway
2547
2599
  # @!attribute [rw] default_response
2548
2600
  # A Boolean flag to indicate whether this GatewayResponse is the
2549
2601
  # default gateway response (`true`) or not (`false`). A default
2550
- # gateway response is one generated by Amazon API Gateway without any
2602
+ # gateway response is one generated by API Gateway without any
2551
2603
  # customization by an API developer.
2552
2604
  # @return [Boolean]
2553
2605
  #
@@ -2566,7 +2618,7 @@ module Aws::APIGateway
2566
2618
  #
2567
2619
  # <div class="remarks">
2568
2620
  # For more information about valid gateway response types, see [Gateway
2569
- # Response Types Supported by Amazon API Gateway][1]
2621
+ # Response Types Supported by API Gateway][1]
2570
2622
  # <div class="example" markdown="1">
2571
2623
  # #### Example: Get the collection of gateway responses of an API
2572
2624
  #
@@ -2631,8 +2683,8 @@ module Aws::APIGateway
2631
2683
  include Aws::Structure
2632
2684
  end
2633
2685
 
2634
- # Requests Amazon API Gateway to get information about the current
2635
- # Account resource.
2686
+ # Requests API Gateway to get information about the current Account
2687
+ # resource.
2636
2688
  #
2637
2689
  # @api private
2638
2690
  #
@@ -2865,8 +2917,7 @@ module Aws::APIGateway
2865
2917
  include Aws::Structure
2866
2918
  end
2867
2919
 
2868
- # Requests Amazon API Gateway to get information about a Deployment
2869
- # resource.
2920
+ # Requests API Gateway to get information about a Deployment resource.
2870
2921
  #
2871
2922
  # @note When making an API call, you may pass GetDeploymentRequest
2872
2923
  # data as a hash:
@@ -2906,7 +2957,7 @@ module Aws::APIGateway
2906
2957
  include Aws::Structure
2907
2958
  end
2908
2959
 
2909
- # Requests Amazon API Gateway to get information about a Deployments
2960
+ # Requests API Gateway to get information about a Deployments
2910
2961
  # collection.
2911
2962
  #
2912
2963
  # @note When making an API call, you may pass GetDeploymentsRequest
@@ -3219,8 +3270,8 @@ module Aws::APIGateway
3219
3270
 
3220
3271
  # Gets the GatewayResponses collection on the given RestApi. If an API
3221
3272
  # developer has not added any definitions for gateway responses, the
3222
- # result will be the Amazon API Gateway-generated default
3223
- # GatewayResponses collection for the supported response types.
3273
+ # result will be the API Gateway-generated default GatewayResponses
3274
+ # collection for the supported response types.
3224
3275
  #
3225
3276
  # @note When making an API call, you may pass GetGatewayResponsesRequest
3226
3277
  # data as a hash:
@@ -3740,7 +3791,7 @@ module Aws::APIGateway
3740
3791
  include Aws::Structure
3741
3792
  end
3742
3793
 
3743
- # Requests Amazon API Gateway to get information about a Stage resource.
3794
+ # Requests API Gateway to get information about a Stage resource.
3744
3795
  #
3745
3796
  # @note When making an API call, you may pass GetStageRequest
3746
3797
  # data as a hash:
@@ -3764,7 +3815,7 @@ module Aws::APIGateway
3764
3815
  include Aws::Structure
3765
3816
  end
3766
3817
 
3767
- # Requests Amazon API Gateway to get information about one or more Stage
3818
+ # Requests API Gateway to get information about one or more Stage
3768
3819
  # resources.
3769
3820
  #
3770
3821
  # @note When making an API call, you may pass GetStagesRequest
@@ -3953,6 +4004,50 @@ module Aws::APIGateway
3953
4004
  include Aws::Structure
3954
4005
  end
3955
4006
 
4007
+ # Gets a specified VPC link under the caller's account in a region.
4008
+ #
4009
+ # @note When making an API call, you may pass GetVpcLinkRequest
4010
+ # data as a hash:
4011
+ #
4012
+ # {
4013
+ # vpc_link_id: "String", # required
4014
+ # }
4015
+ #
4016
+ # @!attribute [rw] vpc_link_id
4017
+ # \[Required\] The identifier of the VpcLink. It is used in an
4018
+ # Integration to reference this VpcLink.
4019
+ # @return [String]
4020
+ #
4021
+ class GetVpcLinkRequest < Struct.new(
4022
+ :vpc_link_id)
4023
+ include Aws::Structure
4024
+ end
4025
+
4026
+ # Gets the VpcLinks collection under the caller's account in a selected
4027
+ # region.
4028
+ #
4029
+ # @note When making an API call, you may pass GetVpcLinksRequest
4030
+ # data as a hash:
4031
+ #
4032
+ # {
4033
+ # position: "String",
4034
+ # limit: 1,
4035
+ # }
4036
+ #
4037
+ # @!attribute [rw] position
4038
+ # The current pagination position in the paged result set.
4039
+ # @return [String]
4040
+ #
4041
+ # @!attribute [rw] limit
4042
+ # The maximum number of returned results per page.
4043
+ # @return [Integer]
4044
+ #
4045
+ class GetVpcLinksRequest < Struct.new(
4046
+ :position,
4047
+ :limit)
4048
+ include Aws::Structure
4049
+ end
4050
+
3956
4051
  # The POST request to import API keys from an external source, such as a
3957
4052
  # CSV-formatted file.
3958
4053
  #
@@ -4034,8 +4129,8 @@ module Aws::APIGateway
4034
4129
  include Aws::Structure
4035
4130
  end
4036
4131
 
4037
- # A POST request to import an API to Amazon API Gateway using an input
4038
- # of an API definition file.
4132
+ # A POST request to import an API to API Gateway using an input of an
4133
+ # API definition file.
4039
4134
  #
4040
4135
  # @note When making an API call, you may pass ImportRestApiRequest
4041
4136
  # data as a hash:
@@ -4111,12 +4206,34 @@ module Aws::APIGateway
4111
4206
  # [1]: http://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-create-api.html
4112
4207
  #
4113
4208
  # @!attribute [rw] type
4114
- # Specifies the integration's type. The valid value is `HTTP` for
4115
- # integrating with an HTTP back end, `AWS` for any AWS service
4116
- # endpoints, `MOCK` for testing without actually invoking the back
4117
- # end, `HTTP_PROXY` for integrating with the HTTP proxy integration,
4118
- # or `AWS_PROXY` for integrating with the Lambda proxy integration
4119
- # type.
4209
+ # Specifies an API method integration type. The valid value is one of
4210
+ # the following:
4211
+ #
4212
+ # * `AWS`\: for integrating the API method request with an AWS service
4213
+ # action, including the Lambda function-invoking action. With the
4214
+ # Lambda function-invoking action, this is referred to as the Lambda
4215
+ # custom integration. With any other AWS service action, this is
4216
+ # known as AWS integration.
4217
+ # * `AWS_PROXY`\: for integrating the API method request with the
4218
+ # Lambda function-invoking action with the client request passed
4219
+ # through as-is. This integration is also referred to as the Lambda
4220
+ # proxy integration.
4221
+ # * `HTTP`\: for integrating the API method request with an HTTP
4222
+ # endpoint, including a private HTTP endpoint within a VPC. This
4223
+ # integration is also referred to as the HTTP custom integration.
4224
+ # * `HTTP_PROXY`\: for integrating the API method request with an HTTP
4225
+ # endpoint, including a private HTTP endpoint within a VPC, with the
4226
+ # client request passed through as-is. This is also referred to as
4227
+ # the HTTP proxy integration.
4228
+ # * `MOCK`\: for integrating the API method request with API Gateway
4229
+ # as a "loop-back" endpoint without invoking any backend.
4230
+ #
4231
+ # For the HTTP and HTTP proxy integrations, each integration can
4232
+ # specify a protocol (`http/https`), port and path. Standard 80 and
4233
+ # 443 ports are supported as well as custom ports above 1024. An HTTP
4234
+ # or HTTP proxy integration with a `connectionType` of `VPC_LINK` is
4235
+ # referred to as a private integration and uses a VpcLink to connect
4236
+ # API Gateway to a network load balancer of a VPC.
4120
4237
  # @return [String]
4121
4238
  #
4122
4239
  # @!attribute [rw] http_method
@@ -4124,31 +4241,63 @@ module Aws::APIGateway
4124
4241
  # @return [String]
4125
4242
  #
4126
4243
  # @!attribute [rw] uri
4127
- # Specifies the integration's Uniform Resource Identifier (URI). For
4128
- # HTTP integrations, the URI must be a fully formed, encoded HTTP(S)
4129
- # URL according to the [RFC-3986 specification][1]. For AWS
4130
- # integrations, the URI should be of the form
4131
- # `arn:aws:apigateway:\{region\}:\{subdomain.service|service\}:\{path|action\}/\{service_api\}`.
4132
- # `Region`, `subdomain` and `service` are used to determine the right
4133
- # endpoint. For AWS services that use the `Action=` query string
4134
- # parameter, `service_api` should be a valid action for the desired
4135
- # service. For RESTful AWS service APIs, `path` is used to indicate
4136
- # that the remaining substring in the URI should be treated as the
4137
- # path to the resource, including the initial `/`.
4244
+ # Specifies Uniform Resource Identifier (URI) of the integration
4245
+ # endpoint.
4246
+ #
4247
+ # * For `HTTP` or `HTTP_PROXY` integrations, the URI must be a fully
4248
+ # formed, encoded HTTP(S) URL according to the [RFC-3986
4249
+ # specification][1], for either standard integration, where
4250
+ # `connectionType` is not `VPC_LINK`, or private integration, where
4251
+ # `connectionType` is `VPC_LINK`. For a private HTTP integration,
4252
+ # the URI is not used for routing.
4253
+ #
4254
+ # * For `AWS` or `AWS_PROXY` integrations, the URI is of the form
4255
+ # `arn:aws:apigateway:\{region\}:\{subdomain.service|service\}:path|action/\{service_api\}`.
4256
+ # Here, `\{Region\}` is the API Gateway region (e.g., `us-east-1`);
4257
+ # `\{service\}` is the name of the integrated AWS service (e.g.,
4258
+ # `s3`); and `\{subdomain\}` is a designated subdomain supported by
4259
+ # certain AWS service for fast host-name lookup. `action` can be
4260
+ # used for an AWS service action-based API, using an
4261
+ # `Action=\{name\}&\{p1\}=\{v1\}&p2=\{v2\}...` query string. The
4262
+ # ensuing `\{service_api\}` refers to a supported action `\{name\}`
4263
+ # plus any required input parameters. Alternatively, `path` can be
4264
+ # used for an AWS service path-based API. The ensuing `service_api`
4265
+ # refers to the path to an AWS service resource, including the
4266
+ # region of the integrated AWS service, if applicable. For example,
4267
+ # for integration with the S3 API of `GetObject`, the `uri` can be
4268
+ # either
4269
+ # `arn:aws:apigateway:us-west-2:s3:action/GetObject&Bucket=\{bucket\}&Key=\{key\}`
4270
+ # or `arn:aws:apigateway:us-west-2:s3:path/\{bucket\}/\{key\}`
4138
4271
  #
4139
4272
  #
4140
4273
  #
4141
4274
  # [1]: https://en.wikipedia.org/wiki/Uniform_Resource_Identifier
4142
4275
  # @return [String]
4143
4276
  #
4277
+ # @!attribute [rw] connection_type
4278
+ # The type of the network connection to the integration endpoint. The
4279
+ # valid value is `INTERNET` for connections through the public
4280
+ # routable internet or `VPC_LINK` for private connections between API
4281
+ # Gateway and an network load balancer in a VPC. The default value is
4282
+ # `INTERNET`.
4283
+ # @return [String]
4284
+ #
4285
+ # @!attribute [rw] connection_id
4286
+ # The ([`id`][1]) of the VpcLink used for the integration when
4287
+ # `connectionType=VPC_LINK` and undefined, otherwise.
4288
+ #
4289
+ #
4290
+ #
4291
+ # [1]: http://docs.aws.amazon.com/apigateway/api-reference/resource/vpc-link/#id
4292
+ # @return [String]
4293
+ #
4144
4294
  # @!attribute [rw] credentials
4145
4295
  # Specifies the credentials required for the integration, if any. For
4146
4296
  # AWS integrations, three options are available. To specify an IAM
4147
- # Role for Amazon API Gateway to assume, use the role's Amazon
4148
- # Resource Name (ARN). To require that the caller's identity be
4149
- # passed through from the request, specify the string
4150
- # `arn:aws:iam::*:user/*`. To use resource-based permissions on
4151
- # supported AWS services, specify null.
4297
+ # Role for API Gateway to assume, use the role's Amazon Resource Name
4298
+ # (ARN). To require that the caller's identity be passed through from
4299
+ # the request, specify the string `arn:aws:iam::*:user/*`. To use
4300
+ # resource-based permissions on supported AWS services, specify null.
4152
4301
  # @return [String]
4153
4302
  #
4154
4303
  # @!attribute [rw] request_parameters
@@ -4177,21 +4326,20 @@ module Aws::APIGateway
4177
4326
  # without transformation. A content type is unmapped if no mapping
4178
4327
  # template is defined in the integration or the content type does not
4179
4328
  # match any of the mapped content types, as specified in
4180
- # `requestTemplates`. There are three valid values: `WHEN_NO_MATCH`,
4181
- # `WHEN_NO_TEMPLATES`, and `NEVER`.
4329
+ # `requestTemplates`. The valid value is one of the following:
4182
4330
  #
4183
- # * `WHEN_NO_MATCH` passes the method request body through the
4331
+ # * `WHEN_NO_MATCH`\: passes the method request body through the
4184
4332
  # integration request to the back end without transformation when
4185
4333
  # the method request content type does not match any content type
4186
4334
  # associated with the mapping templates defined in the integration
4187
4335
  # request.
4188
- # * `WHEN_NO_TEMPLATES` passes the method request body through the
4336
+ # * `WHEN_NO_TEMPLATES`\: passes the method request body through the
4189
4337
  # integration request to the back end without transformation when no
4190
4338
  # mapping template is defined in the integration request. If a
4191
4339
  # template is defined when this option is selected, the method
4192
4340
  # request of an unmapped content-type will be rejected with an HTTP
4193
4341
  # `415 Unsupported Media Type` response.
4194
- # * `NEVER` rejects the method request with an HTTP `415 Unsupported
4342
+ # * `NEVER`\: rejects the method request with an HTTP `415 Unsupported
4195
4343
  # Media Type` response when either the method request content type
4196
4344
  # does not match any content type associated with the mapping
4197
4345
  # templates defined in the integration request or no mapping
@@ -4268,6 +4416,8 @@ module Aws::APIGateway
4268
4416
  :type,
4269
4417
  :http_method,
4270
4418
  :uri,
4419
+ :connection_type,
4420
+ :connection_id,
4271
4421
  :credentials,
4272
4422
  :request_parameters,
4273
4423
  :request_templates,
@@ -4442,8 +4592,8 @@ module Aws::APIGateway
4442
4592
  #
4443
4593
  # @!attribute [rw] request_parameters
4444
4594
  # A key-value map defining required or optional method request
4445
- # parameters that can be accepted by Amazon API Gateway. A key is a
4446
- # method request parameter name matching the pattern of
4595
+ # parameters that can be accepted by API Gateway. A key is a method
4596
+ # request parameter name matching the pattern of
4447
4597
  # `method.request.\{location\}.\{name\}`, where `location` is
4448
4598
  # `querystring`, `path`, or `header` and `name` is a valid and unique
4449
4599
  # parameter name. The value associated with the key is a Boolean flag
@@ -4588,15 +4738,15 @@ module Aws::APIGateway
4588
4738
  #
4589
4739
  # @!attribute [rw] response_parameters
4590
4740
  # A key-value map specifying required or optional response parameters
4591
- # that Amazon API Gateway can send back to the caller. A key defines a
4592
- # method response header and the value specifies whether the
4593
- # associated method response header is required or not. The expression
4594
- # of the key must match the pattern `method.response.header.\{name\}`,
4595
- # where `name` is a valid and unique header name. Amazon API Gateway
4596
- # passes certain integration response data to the method response
4597
- # headers specified here according to the mapping you prescribe in the
4598
- # API's IntegrationResponse. The integration response data that can
4599
- # be mapped include an integration response header expressed in
4741
+ # that API Gateway can send back to the caller. A key defines a method
4742
+ # response header and the value specifies whether the associated
4743
+ # method response header is required or not. The expression of the key
4744
+ # must match the pattern `method.response.header.\{name\}`, where
4745
+ # `name` is a valid and unique header name. API Gateway passes certain
4746
+ # integration response data to the method response headers specified
4747
+ # here according to the mapping you prescribe in the API's
4748
+ # IntegrationResponse. The integration response data that can be
4749
+ # mapped include an integration response header expressed in
4600
4750
  # `integration.response.header.\{name\}`, a static value enclosed
4601
4751
  # within a pair of single quotes (e.g., `'application/json'`), or a
4602
4752
  # JSON expression from the back-end response payload in the form of
@@ -4960,6 +5110,8 @@ module Aws::APIGateway
4960
5110
  # type: "HTTP", # required, accepts HTTP, AWS, MOCK, HTTP_PROXY, AWS_PROXY
4961
5111
  # integration_http_method: "String",
4962
5112
  # uri: "String",
5113
+ # connection_type: "INTERNET", # accepts INTERNET, VPC_LINK
5114
+ # connection_id: "String",
4963
5115
  # credentials: "String",
4964
5116
  # request_parameters: {
4965
5117
  # "String" => "String",
@@ -4996,23 +5148,56 @@ module Aws::APIGateway
4996
5148
  # @return [String]
4997
5149
  #
4998
5150
  # @!attribute [rw] uri
4999
- # Specifies the integration's Uniform Resource Identifier (URI). For
5000
- # HTTP integrations, the URI must be a fully formed, encoded HTTP(S)
5001
- # URL according to the [RFC-3986 specification][1]. For AWS
5002
- # integrations, the URI should be of the form
5003
- # `arn:aws:apigateway:\{region\}:\{subdomain.service|service\}:\{path|action\}/\{service_api\}`.
5004
- # `Region`, `subdomain` and `service` are used to determine the right
5005
- # endpoint. For AWS services that use the `Action=` query string
5006
- # parameter, `service_api` should be a valid action for the desired
5007
- # service. For RESTful AWS service APIs, `path` is used to indicate
5008
- # that the remaining substring in the URI should be treated as the
5009
- # path to the resource, including the initial `/`.
5151
+ # Specifies Uniform Resource Identifier (URI) of the integration
5152
+ # endpoint.
5153
+ #
5154
+ # * For `HTTP` or `HTTP_PROXY` integrations, the URI must be a fully
5155
+ # formed, encoded HTTP(S) URL according to the [RFC-3986
5156
+ # specification][1], for either standard integration, where
5157
+ # `connectionType` is not `VPC_LINK`, or private integration, where
5158
+ # `connectionType` is `VPC_LINK`. For a private HTTP integration,
5159
+ # the URI is not used for routing.
5160
+ #
5161
+ # * For `AWS` or `AWS_PROXY` integrations, the URI is of the form
5162
+ # `arn:aws:apigateway:\{region\}:\{subdomain.service|service\}:path|action/\{service_api\}`.
5163
+ # Here, `\{Region\}` is the API Gateway region (e.g., `us-east-1`);
5164
+ # `\{service\}` is the name of the integrated AWS service (e.g.,
5165
+ # `s3`); and `\{subdomain\}` is a designated subdomain supported by
5166
+ # certain AWS service for fast host-name lookup. `action` can be
5167
+ # used for an AWS service action-based API, using an
5168
+ # `Action=\{name\}&\{p1\}=\{v1\}&p2=\{v2\}...` query string. The
5169
+ # ensuing `\{service_api\}` refers to a supported action `\{name\}`
5170
+ # plus any required input parameters. Alternatively, `path` can be
5171
+ # used for an AWS service path-based API. The ensuing `service_api`
5172
+ # refers to the path to an AWS service resource, including the
5173
+ # region of the integrated AWS service, if applicable. For example,
5174
+ # for integration with the S3 API of `GetObject`, the `uri` can be
5175
+ # either
5176
+ # `arn:aws:apigateway:us-west-2:s3:action/GetObject&Bucket=\{bucket\}&Key=\{key\}`
5177
+ # or `arn:aws:apigateway:us-west-2:s3:path/\{bucket\}/\{key\}`
5010
5178
  #
5011
5179
  #
5012
5180
  #
5013
5181
  # [1]: https://en.wikipedia.org/wiki/Uniform_Resource_Identifier
5014
5182
  # @return [String]
5015
5183
  #
5184
+ # @!attribute [rw] connection_type
5185
+ # The type of the network connection to the integration endpoint. The
5186
+ # valid value is `INTERNET` for connections through the public
5187
+ # routable internet or `VPC_LINK` for private connections between API
5188
+ # Gateway and an network load balancer in a VPC. The default value is
5189
+ # `INTERNET`.
5190
+ # @return [String]
5191
+ #
5192
+ # @!attribute [rw] connection_id
5193
+ # The ([`id`][1]) of the VpcLink used for the integration when
5194
+ # `connectionType=VPC_LINK` and undefined, otherwise.
5195
+ #
5196
+ #
5197
+ #
5198
+ # [1]: http://docs.aws.amazon.com/apigateway/api-reference/resource/vpc-link/#id
5199
+ # @return [String]
5200
+ #
5016
5201
  # @!attribute [rw] credentials
5017
5202
  # Specifies whether credentials are required for a put integration.
5018
5203
  # @return [String]
@@ -5092,6 +5277,8 @@ module Aws::APIGateway
5092
5277
  :type,
5093
5278
  :integration_http_method,
5094
5279
  :uri,
5280
+ :connection_type,
5281
+ :connection_id,
5095
5282
  :credentials,
5096
5283
  :request_parameters,
5097
5284
  :request_templates,
@@ -5253,8 +5440,8 @@ module Aws::APIGateway
5253
5440
  #
5254
5441
  # @!attribute [rw] request_parameters
5255
5442
  # A key-value map defining required or optional method request
5256
- # parameters that can be accepted by Amazon API Gateway. A key defines
5257
- # a method request parameter name matching the pattern of
5443
+ # parameters that can be accepted by API Gateway. A key defines a
5444
+ # method request parameter name matching the pattern of
5258
5445
  # `method.request.\{location\}.\{name\}`, where `location` is
5259
5446
  # `querystring`, `path`, or `header` and `name` is a valid and unique
5260
5447
  # parameter name. The value associated with the key is a Boolean flag
@@ -5325,10 +5512,10 @@ module Aws::APIGateway
5325
5512
  #
5326
5513
  # @!attribute [rw] response_parameters
5327
5514
  # A key-value map specifying required or optional response parameters
5328
- # that Amazon API Gateway can send back to the caller. A key defines a
5329
- # method response header name and the associated value is a Boolean
5330
- # flag indicating whether the method response parameter is required or
5331
- # not. The method response header names must match the pattern of
5515
+ # that API Gateway can send back to the caller. A key defines a method
5516
+ # response header name and the associated value is a Boolean flag
5517
+ # indicating whether the method response parameter is required or not.
5518
+ # The method response header names must match the pattern of
5332
5519
  # `method.response.header.\{name\}`, where `name` is a valid and
5333
5520
  # unique header name. The response parameter names defined here are
5334
5521
  # available in the integration response to be mapped from an
@@ -5622,7 +5809,7 @@ module Aws::APIGateway
5622
5809
  #
5623
5810
  # @!attribute [rw] id
5624
5811
  # The API's identifier. This identifier is unique across all of your
5625
- # APIs in Amazon API Gateway.
5812
+ # APIs in API Gateway.
5626
5813
  # @return [String]
5627
5814
  #
5628
5815
  # @!attribute [rw] name
@@ -5810,7 +5997,7 @@ module Aws::APIGateway
5810
5997
  #
5811
5998
  # @!attribute [rw] stage_name
5812
5999
  # The name of the stage is the first path segment in the Uniform
5813
- # Resource Identifier (URI) of a call to Amazon API Gateway.
6000
+ # Resource Identifier (URI) of a call to API Gateway.
5814
6001
  # @return [String]
5815
6002
  #
5816
6003
  # @!attribute [rw] description
@@ -6025,8 +6212,7 @@ module Aws::APIGateway
6025
6212
  # @return [Integer]
6026
6213
  #
6027
6214
  # @!attribute [rw] log
6028
- # The Amazon API Gateway execution log for the test authorizer
6029
- # request.
6215
+ # The API Gateway execution log for the test authorizer request.
6030
6216
  # @return [String]
6031
6217
  #
6032
6218
  # @!attribute [rw] latency
@@ -6157,7 +6343,7 @@ module Aws::APIGateway
6157
6343
  # @return [Hash<String,String>]
6158
6344
  #
6159
6345
  # @!attribute [rw] log
6160
- # The Amazon API Gateway execution log for the test invoke request.
6346
+ # The API Gateway execution log for the test invoke request.
6161
6347
  # @return [String]
6162
6348
  #
6163
6349
  # @!attribute [rw] latency
@@ -6199,8 +6385,8 @@ module Aws::APIGateway
6199
6385
  include Aws::Structure
6200
6386
  end
6201
6387
 
6202
- # Requests Amazon API Gateway to change information about the current
6203
- # Account resource.
6388
+ # Requests API Gateway to change information about the current Account
6389
+ # resource.
6204
6390
  #
6205
6391
  # @note When making an API call, you may pass UpdateAccountRequest
6206
6392
  # data as a hash:
@@ -6366,7 +6552,7 @@ module Aws::APIGateway
6366
6552
  include Aws::Structure
6367
6553
  end
6368
6554
 
6369
- # Requests Amazon API Gateway to change information about a Deployment
6555
+ # Requests API Gateway to change information about a Deployment
6370
6556
  # resource.
6371
6557
  #
6372
6558
  # @note When making an API call, you may pass UpdateDeploymentRequest
@@ -6909,8 +7095,7 @@ module Aws::APIGateway
6909
7095
  include Aws::Structure
6910
7096
  end
6911
7097
 
6912
- # Requests Amazon API Gateway to change information about a Stage
6913
- # resource.
7098
+ # Requests API Gateway to change information about a Stage resource.
6914
7099
  #
6915
7100
  # @note When making an API call, you may pass UpdateStageRequest
6916
7101
  # data as a hash:
@@ -7020,6 +7205,39 @@ module Aws::APIGateway
7020
7205
  include Aws::Structure
7021
7206
  end
7022
7207
 
7208
+ # Updates an existing VpcLink of a specified identifier.
7209
+ #
7210
+ # @note When making an API call, you may pass UpdateVpcLinkRequest
7211
+ # data as a hash:
7212
+ #
7213
+ # {
7214
+ # vpc_link_id: "String", # required
7215
+ # patch_operations: [
7216
+ # {
7217
+ # op: "add", # accepts add, remove, replace, move, copy, test
7218
+ # path: "String",
7219
+ # value: "String",
7220
+ # from: "String",
7221
+ # },
7222
+ # ],
7223
+ # }
7224
+ #
7225
+ # @!attribute [rw] vpc_link_id
7226
+ # \[Required\] The identifier of the VpcLink. It is used in an
7227
+ # Integration to reference this VpcLink.
7228
+ # @return [String]
7229
+ #
7230
+ # @!attribute [rw] patch_operations
7231
+ # A list of update operations to be applied to the specified resource
7232
+ # and in the order specified in this list.
7233
+ # @return [Array<Types::PatchOperation>]
7234
+ #
7235
+ class UpdateVpcLinkRequest < Struct.new(
7236
+ :vpc_link_id,
7237
+ :patch_operations)
7238
+ include Aws::Structure
7239
+ end
7240
+
7023
7241
  # Represents the usage data of a usage plan.
7024
7242
  #
7025
7243
  # <div class="remarks"></div>
@@ -7213,5 +7431,84 @@ module Aws::APIGateway
7213
7431
  include Aws::Structure
7214
7432
  end
7215
7433
 
7434
+ # A API Gateway VPC link for a RestApi to access resources in an Amazon
7435
+ # Virtual Private Cloud (VPC).
7436
+ #
7437
+ # <div class="remarks" markdown="1">
7438
+ # To enable access to a resource in an Amazon Virtual Private Cloud
7439
+ # through Amazon API Gateway, you, as an API developer, create a VpcLink
7440
+ # resource targeted for one or more network load balancers of the VPC
7441
+ # and then integrate an API method with a private integration that uses
7442
+ # the VpcLink. The private integraiton has an integration type of `HTTP`
7443
+ # or `HTTP_PROXY` and has a connection type of `VPC_LINK`. The
7444
+ # integration uses the `connectionId` property to identify the VpcLink
7445
+ # used.
7446
+ #
7447
+ # </div>
7448
+ #
7449
+ # @!attribute [rw] id
7450
+ # The identifier of the VpcLink. It is used in an Integration to
7451
+ # reference this VpcLink.
7452
+ # @return [String]
7453
+ #
7454
+ # @!attribute [rw] name
7455
+ # The name used to label and identify the VPC link.
7456
+ # @return [String]
7457
+ #
7458
+ # @!attribute [rw] description
7459
+ # The description of the VPC link.
7460
+ # @return [String]
7461
+ #
7462
+ # @!attribute [rw] target_arns
7463
+ # The ARNs of network load balancers of the VPC targeted by the VPC
7464
+ # link. The network load balancers must be owned by the same AWS
7465
+ # account of the API owner.
7466
+ # @return [Array<String>]
7467
+ #
7468
+ # @!attribute [rw] status
7469
+ # The status of the VPC link. The valid values are `AVAILABLE`,
7470
+ # `PENDING`, `DELETING`, or `FAILED`. Deploying an API will wait if
7471
+ # the status is `PENDING` and will fail if the status is `DELETING`.
7472
+ # @return [String]
7473
+ #
7474
+ # @!attribute [rw] status_message
7475
+ # A description about the VPC link status.
7476
+ # @return [String]
7477
+ #
7478
+ class VpcLink < Struct.new(
7479
+ :id,
7480
+ :name,
7481
+ :description,
7482
+ :target_arns,
7483
+ :status,
7484
+ :status_message)
7485
+ include Aws::Structure
7486
+ end
7487
+
7488
+ # The collection of VPC links under the caller's account in a region.
7489
+ #
7490
+ # <div class="seeAlso">
7491
+ # [Getting Started with Private Integrations][1], [Set up Private
7492
+ # Integrations][2]
7493
+ # </div>
7494
+ #
7495
+ #
7496
+ #
7497
+ # [1]: http://docs.aws.amazon.com/apigateway/latest/developerguide/getting-started-with-private-integration.html
7498
+ # [2]: http://docs.aws.amazon.com/apigateway/latest/developerguide/set-up-private-integration.html
7499
+ #
7500
+ # @!attribute [rw] position
7501
+ # @return [String]
7502
+ #
7503
+ # @!attribute [rw] items
7504
+ # The current page of elements from this collection.
7505
+ # @return [Array<Types::VpcLink>]
7506
+ #
7507
+ class VpcLinks < Struct.new(
7508
+ :position,
7509
+ :items)
7510
+ include Aws::Structure
7511
+ end
7512
+
7216
7513
  end
7217
7514
  end