aws-sdk-appsync 1.8.0 → 1.9.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -17,6 +17,9 @@ module Aws::AppSync
17
17
  ApiKeys = Shapes::ListShape.new(name: 'ApiKeys')
18
18
  ApiLimitExceededException = Shapes::StructureShape.new(name: 'ApiLimitExceededException')
19
19
  AuthenticationType = Shapes::StringShape.new(name: 'AuthenticationType')
20
+ AuthorizationConfig = Shapes::StructureShape.new(name: 'AuthorizationConfig')
21
+ AuthorizationType = Shapes::StringShape.new(name: 'AuthorizationType')
22
+ AwsIamConfig = Shapes::StructureShape.new(name: 'AwsIamConfig')
20
23
  BadRequestException = Shapes::StructureShape.new(name: 'BadRequestException')
21
24
  Blob = Shapes::BlobShape.new(name: 'Blob')
22
25
  Boolean = Shapes::BooleanShape.new(name: 'Boolean')
@@ -25,6 +28,8 @@ module Aws::AppSync
25
28
  CreateApiKeyResponse = Shapes::StructureShape.new(name: 'CreateApiKeyResponse')
26
29
  CreateDataSourceRequest = Shapes::StructureShape.new(name: 'CreateDataSourceRequest')
27
30
  CreateDataSourceResponse = Shapes::StructureShape.new(name: 'CreateDataSourceResponse')
31
+ CreateFunctionRequest = Shapes::StructureShape.new(name: 'CreateFunctionRequest')
32
+ CreateFunctionResponse = Shapes::StructureShape.new(name: 'CreateFunctionResponse')
28
33
  CreateGraphqlApiRequest = Shapes::StructureShape.new(name: 'CreateGraphqlApiRequest')
29
34
  CreateGraphqlApiResponse = Shapes::StructureShape.new(name: 'CreateGraphqlApiResponse')
30
35
  CreateResolverRequest = Shapes::StructureShape.new(name: 'CreateResolverRequest')
@@ -39,6 +44,8 @@ module Aws::AppSync
39
44
  DeleteApiKeyResponse = Shapes::StructureShape.new(name: 'DeleteApiKeyResponse')
40
45
  DeleteDataSourceRequest = Shapes::StructureShape.new(name: 'DeleteDataSourceRequest')
41
46
  DeleteDataSourceResponse = Shapes::StructureShape.new(name: 'DeleteDataSourceResponse')
47
+ DeleteFunctionRequest = Shapes::StructureShape.new(name: 'DeleteFunctionRequest')
48
+ DeleteFunctionResponse = Shapes::StructureShape.new(name: 'DeleteFunctionResponse')
42
49
  DeleteGraphqlApiRequest = Shapes::StructureShape.new(name: 'DeleteGraphqlApiRequest')
43
50
  DeleteGraphqlApiResponse = Shapes::StructureShape.new(name: 'DeleteGraphqlApiResponse')
44
51
  DeleteResolverRequest = Shapes::StructureShape.new(name: 'DeleteResolverRequest')
@@ -49,8 +56,13 @@ module Aws::AppSync
49
56
  ElasticsearchDataSourceConfig = Shapes::StructureShape.new(name: 'ElasticsearchDataSourceConfig')
50
57
  ErrorMessage = Shapes::StringShape.new(name: 'ErrorMessage')
51
58
  FieldLogLevel = Shapes::StringShape.new(name: 'FieldLogLevel')
59
+ FunctionConfiguration = Shapes::StructureShape.new(name: 'FunctionConfiguration')
60
+ Functions = Shapes::ListShape.new(name: 'Functions')
61
+ FunctionsIds = Shapes::ListShape.new(name: 'FunctionsIds')
52
62
  GetDataSourceRequest = Shapes::StructureShape.new(name: 'GetDataSourceRequest')
53
63
  GetDataSourceResponse = Shapes::StructureShape.new(name: 'GetDataSourceResponse')
64
+ GetFunctionRequest = Shapes::StructureShape.new(name: 'GetFunctionRequest')
65
+ GetFunctionResponse = Shapes::StructureShape.new(name: 'GetFunctionResponse')
54
66
  GetGraphqlApiRequest = Shapes::StructureShape.new(name: 'GetGraphqlApiRequest')
55
67
  GetGraphqlApiResponse = Shapes::StructureShape.new(name: 'GetGraphqlApiResponse')
56
68
  GetIntrospectionSchemaRequest = Shapes::StructureShape.new(name: 'GetIntrospectionSchemaRequest')
@@ -72,8 +84,12 @@ module Aws::AppSync
72
84
  ListApiKeysResponse = Shapes::StructureShape.new(name: 'ListApiKeysResponse')
73
85
  ListDataSourcesRequest = Shapes::StructureShape.new(name: 'ListDataSourcesRequest')
74
86
  ListDataSourcesResponse = Shapes::StructureShape.new(name: 'ListDataSourcesResponse')
87
+ ListFunctionsRequest = Shapes::StructureShape.new(name: 'ListFunctionsRequest')
88
+ ListFunctionsResponse = Shapes::StructureShape.new(name: 'ListFunctionsResponse')
75
89
  ListGraphqlApisRequest = Shapes::StructureShape.new(name: 'ListGraphqlApisRequest')
76
90
  ListGraphqlApisResponse = Shapes::StructureShape.new(name: 'ListGraphqlApisResponse')
91
+ ListResolversByFunctionRequest = Shapes::StructureShape.new(name: 'ListResolversByFunctionRequest')
92
+ ListResolversByFunctionResponse = Shapes::StructureShape.new(name: 'ListResolversByFunctionResponse')
77
93
  ListResolversRequest = Shapes::StructureShape.new(name: 'ListResolversRequest')
78
94
  ListResolversResponse = Shapes::StructureShape.new(name: 'ListResolversResponse')
79
95
  ListTypesRequest = Shapes::StructureShape.new(name: 'ListTypesRequest')
@@ -87,7 +103,12 @@ module Aws::AppSync
87
103
  OpenIDConnectConfig = Shapes::StructureShape.new(name: 'OpenIDConnectConfig')
88
104
  OutputType = Shapes::StringShape.new(name: 'OutputType')
89
105
  PaginationToken = Shapes::StringShape.new(name: 'PaginationToken')
106
+ PipelineConfig = Shapes::StructureShape.new(name: 'PipelineConfig')
107
+ RdsHttpEndpointConfig = Shapes::StructureShape.new(name: 'RdsHttpEndpointConfig')
108
+ RelationalDatabaseDataSourceConfig = Shapes::StructureShape.new(name: 'RelationalDatabaseDataSourceConfig')
109
+ RelationalDatabaseSourceType = Shapes::StringShape.new(name: 'RelationalDatabaseSourceType')
90
110
  Resolver = Shapes::StructureShape.new(name: 'Resolver')
111
+ ResolverKind = Shapes::StringShape.new(name: 'ResolverKind')
91
112
  Resolvers = Shapes::ListShape.new(name: 'Resolvers')
92
113
  ResourceName = Shapes::StringShape.new(name: 'ResourceName')
93
114
  SchemaStatus = Shapes::StringShape.new(name: 'SchemaStatus')
@@ -102,6 +123,8 @@ module Aws::AppSync
102
123
  UpdateApiKeyResponse = Shapes::StructureShape.new(name: 'UpdateApiKeyResponse')
103
124
  UpdateDataSourceRequest = Shapes::StructureShape.new(name: 'UpdateDataSourceRequest')
104
125
  UpdateDataSourceResponse = Shapes::StructureShape.new(name: 'UpdateDataSourceResponse')
126
+ UpdateFunctionRequest = Shapes::StructureShape.new(name: 'UpdateFunctionRequest')
127
+ UpdateFunctionResponse = Shapes::StructureShape.new(name: 'UpdateFunctionResponse')
105
128
  UpdateGraphqlApiRequest = Shapes::StructureShape.new(name: 'UpdateGraphqlApiRequest')
106
129
  UpdateGraphqlApiResponse = Shapes::StructureShape.new(name: 'UpdateGraphqlApiResponse')
107
130
  UpdateResolverRequest = Shapes::StructureShape.new(name: 'UpdateResolverRequest')
@@ -117,6 +140,14 @@ module Aws::AppSync
117
140
 
118
141
  ApiKeys.member = Shapes::ShapeRef.new(shape: ApiKey)
119
142
 
143
+ AuthorizationConfig.add_member(:authorization_type, Shapes::ShapeRef.new(shape: AuthorizationType, required: true, location_name: "authorizationType"))
144
+ AuthorizationConfig.add_member(:aws_iam_config, Shapes::ShapeRef.new(shape: AwsIamConfig, location_name: "awsIamConfig"))
145
+ AuthorizationConfig.struct_class = Types::AuthorizationConfig
146
+
147
+ AwsIamConfig.add_member(:signing_region, Shapes::ShapeRef.new(shape: String, location_name: "signingRegion"))
148
+ AwsIamConfig.add_member(:signing_service_name, Shapes::ShapeRef.new(shape: String, location_name: "signingServiceName"))
149
+ AwsIamConfig.struct_class = Types::AwsIamConfig
150
+
120
151
  CreateApiKeyRequest.add_member(:api_id, Shapes::ShapeRef.new(shape: String, required: true, location: "uri", location_name: "apiId"))
121
152
  CreateApiKeyRequest.add_member(:description, Shapes::ShapeRef.new(shape: String, location_name: "description"))
122
153
  CreateApiKeyRequest.add_member(:expires, Shapes::ShapeRef.new(shape: Long, location_name: "expires"))
@@ -134,11 +165,24 @@ module Aws::AppSync
134
165
  CreateDataSourceRequest.add_member(:lambda_config, Shapes::ShapeRef.new(shape: LambdaDataSourceConfig, location_name: "lambdaConfig"))
135
166
  CreateDataSourceRequest.add_member(:elasticsearch_config, Shapes::ShapeRef.new(shape: ElasticsearchDataSourceConfig, location_name: "elasticsearchConfig"))
136
167
  CreateDataSourceRequest.add_member(:http_config, Shapes::ShapeRef.new(shape: HttpDataSourceConfig, location_name: "httpConfig"))
168
+ CreateDataSourceRequest.add_member(:relational_database_config, Shapes::ShapeRef.new(shape: RelationalDatabaseDataSourceConfig, location_name: "relationalDatabaseConfig"))
137
169
  CreateDataSourceRequest.struct_class = Types::CreateDataSourceRequest
138
170
 
139
171
  CreateDataSourceResponse.add_member(:data_source, Shapes::ShapeRef.new(shape: DataSource, location_name: "dataSource"))
140
172
  CreateDataSourceResponse.struct_class = Types::CreateDataSourceResponse
141
173
 
174
+ CreateFunctionRequest.add_member(:api_id, Shapes::ShapeRef.new(shape: String, required: true, location: "uri", location_name: "apiId"))
175
+ CreateFunctionRequest.add_member(:name, Shapes::ShapeRef.new(shape: ResourceName, required: true, location_name: "name"))
176
+ CreateFunctionRequest.add_member(:description, Shapes::ShapeRef.new(shape: String, location_name: "description"))
177
+ CreateFunctionRequest.add_member(:data_source_name, Shapes::ShapeRef.new(shape: ResourceName, required: true, location_name: "dataSourceName"))
178
+ CreateFunctionRequest.add_member(:request_mapping_template, Shapes::ShapeRef.new(shape: MappingTemplate, required: true, location_name: "requestMappingTemplate"))
179
+ CreateFunctionRequest.add_member(:response_mapping_template, Shapes::ShapeRef.new(shape: MappingTemplate, location_name: "responseMappingTemplate"))
180
+ CreateFunctionRequest.add_member(:function_version, Shapes::ShapeRef.new(shape: String, required: true, location_name: "functionVersion"))
181
+ CreateFunctionRequest.struct_class = Types::CreateFunctionRequest
182
+
183
+ CreateFunctionResponse.add_member(:function_configuration, Shapes::ShapeRef.new(shape: FunctionConfiguration, location_name: "functionConfiguration"))
184
+ CreateFunctionResponse.struct_class = Types::CreateFunctionResponse
185
+
142
186
  CreateGraphqlApiRequest.add_member(:name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "name"))
143
187
  CreateGraphqlApiRequest.add_member(:log_config, Shapes::ShapeRef.new(shape: LogConfig, location_name: "logConfig"))
144
188
  CreateGraphqlApiRequest.add_member(:authentication_type, Shapes::ShapeRef.new(shape: AuthenticationType, required: true, location_name: "authenticationType"))
@@ -152,9 +196,11 @@ module Aws::AppSync
152
196
  CreateResolverRequest.add_member(:api_id, Shapes::ShapeRef.new(shape: String, required: true, location: "uri", location_name: "apiId"))
153
197
  CreateResolverRequest.add_member(:type_name, Shapes::ShapeRef.new(shape: ResourceName, required: true, location: "uri", location_name: "typeName"))
154
198
  CreateResolverRequest.add_member(:field_name, Shapes::ShapeRef.new(shape: ResourceName, required: true, location_name: "fieldName"))
155
- CreateResolverRequest.add_member(:data_source_name, Shapes::ShapeRef.new(shape: ResourceName, required: true, location_name: "dataSourceName"))
199
+ CreateResolverRequest.add_member(:data_source_name, Shapes::ShapeRef.new(shape: ResourceName, location_name: "dataSourceName"))
156
200
  CreateResolverRequest.add_member(:request_mapping_template, Shapes::ShapeRef.new(shape: MappingTemplate, required: true, location_name: "requestMappingTemplate"))
157
201
  CreateResolverRequest.add_member(:response_mapping_template, Shapes::ShapeRef.new(shape: MappingTemplate, location_name: "responseMappingTemplate"))
202
+ CreateResolverRequest.add_member(:kind, Shapes::ShapeRef.new(shape: ResolverKind, location_name: "kind"))
203
+ CreateResolverRequest.add_member(:pipeline_config, Shapes::ShapeRef.new(shape: PipelineConfig, location_name: "pipelineConfig"))
158
204
  CreateResolverRequest.struct_class = Types::CreateResolverRequest
159
205
 
160
206
  CreateResolverResponse.add_member(:resolver, Shapes::ShapeRef.new(shape: Resolver, location_name: "resolver"))
@@ -177,6 +223,7 @@ module Aws::AppSync
177
223
  DataSource.add_member(:lambda_config, Shapes::ShapeRef.new(shape: LambdaDataSourceConfig, location_name: "lambdaConfig"))
178
224
  DataSource.add_member(:elasticsearch_config, Shapes::ShapeRef.new(shape: ElasticsearchDataSourceConfig, location_name: "elasticsearchConfig"))
179
225
  DataSource.add_member(:http_config, Shapes::ShapeRef.new(shape: HttpDataSourceConfig, location_name: "httpConfig"))
226
+ DataSource.add_member(:relational_database_config, Shapes::ShapeRef.new(shape: RelationalDatabaseDataSourceConfig, location_name: "relationalDatabaseConfig"))
180
227
  DataSource.struct_class = Types::DataSource
181
228
 
182
229
  DataSources.member = Shapes::ShapeRef.new(shape: DataSource)
@@ -193,6 +240,12 @@ module Aws::AppSync
193
240
 
194
241
  DeleteDataSourceResponse.struct_class = Types::DeleteDataSourceResponse
195
242
 
243
+ DeleteFunctionRequest.add_member(:api_id, Shapes::ShapeRef.new(shape: String, required: true, location: "uri", location_name: "apiId"))
244
+ DeleteFunctionRequest.add_member(:function_id, Shapes::ShapeRef.new(shape: ResourceName, required: true, location: "uri", location_name: "functionId"))
245
+ DeleteFunctionRequest.struct_class = Types::DeleteFunctionRequest
246
+
247
+ DeleteFunctionResponse.struct_class = Types::DeleteFunctionResponse
248
+
196
249
  DeleteGraphqlApiRequest.add_member(:api_id, Shapes::ShapeRef.new(shape: String, required: true, location: "uri", location_name: "apiId"))
197
250
  DeleteGraphqlApiRequest.struct_class = Types::DeleteGraphqlApiRequest
198
251
 
@@ -220,6 +273,20 @@ module Aws::AppSync
220
273
  ElasticsearchDataSourceConfig.add_member(:aws_region, Shapes::ShapeRef.new(shape: String, required: true, location_name: "awsRegion"))
221
274
  ElasticsearchDataSourceConfig.struct_class = Types::ElasticsearchDataSourceConfig
222
275
 
276
+ FunctionConfiguration.add_member(:function_id, Shapes::ShapeRef.new(shape: String, location_name: "functionId"))
277
+ FunctionConfiguration.add_member(:function_arn, Shapes::ShapeRef.new(shape: String, location_name: "functionArn"))
278
+ FunctionConfiguration.add_member(:name, Shapes::ShapeRef.new(shape: ResourceName, location_name: "name"))
279
+ FunctionConfiguration.add_member(:description, Shapes::ShapeRef.new(shape: String, location_name: "description"))
280
+ FunctionConfiguration.add_member(:data_source_name, Shapes::ShapeRef.new(shape: ResourceName, location_name: "dataSourceName"))
281
+ FunctionConfiguration.add_member(:request_mapping_template, Shapes::ShapeRef.new(shape: MappingTemplate, location_name: "requestMappingTemplate"))
282
+ FunctionConfiguration.add_member(:response_mapping_template, Shapes::ShapeRef.new(shape: MappingTemplate, location_name: "responseMappingTemplate"))
283
+ FunctionConfiguration.add_member(:function_version, Shapes::ShapeRef.new(shape: String, location_name: "functionVersion"))
284
+ FunctionConfiguration.struct_class = Types::FunctionConfiguration
285
+
286
+ Functions.member = Shapes::ShapeRef.new(shape: FunctionConfiguration)
287
+
288
+ FunctionsIds.member = Shapes::ShapeRef.new(shape: String)
289
+
223
290
  GetDataSourceRequest.add_member(:api_id, Shapes::ShapeRef.new(shape: String, required: true, location: "uri", location_name: "apiId"))
224
291
  GetDataSourceRequest.add_member(:name, Shapes::ShapeRef.new(shape: ResourceName, required: true, location: "uri", location_name: "name"))
225
292
  GetDataSourceRequest.struct_class = Types::GetDataSourceRequest
@@ -227,6 +294,13 @@ module Aws::AppSync
227
294
  GetDataSourceResponse.add_member(:data_source, Shapes::ShapeRef.new(shape: DataSource, location_name: "dataSource"))
228
295
  GetDataSourceResponse.struct_class = Types::GetDataSourceResponse
229
296
 
297
+ GetFunctionRequest.add_member(:api_id, Shapes::ShapeRef.new(shape: String, required: true, location: "uri", location_name: "apiId"))
298
+ GetFunctionRequest.add_member(:function_id, Shapes::ShapeRef.new(shape: ResourceName, required: true, location: "uri", location_name: "functionId"))
299
+ GetFunctionRequest.struct_class = Types::GetFunctionRequest
300
+
301
+ GetFunctionResponse.add_member(:function_configuration, Shapes::ShapeRef.new(shape: FunctionConfiguration, location_name: "functionConfiguration"))
302
+ GetFunctionResponse.struct_class = Types::GetFunctionResponse
303
+
230
304
  GetGraphqlApiRequest.add_member(:api_id, Shapes::ShapeRef.new(shape: String, required: true, location: "uri", location_name: "apiId"))
231
305
  GetGraphqlApiRequest.struct_class = Types::GetGraphqlApiRequest
232
306
 
@@ -278,6 +352,7 @@ module Aws::AppSync
278
352
  GraphqlApis.member = Shapes::ShapeRef.new(shape: GraphqlApi)
279
353
 
280
354
  HttpDataSourceConfig.add_member(:endpoint, Shapes::ShapeRef.new(shape: String, location_name: "endpoint"))
355
+ HttpDataSourceConfig.add_member(:authorization_config, Shapes::ShapeRef.new(shape: AuthorizationConfig, location_name: "authorizationConfig"))
281
356
  HttpDataSourceConfig.struct_class = Types::HttpDataSourceConfig
282
357
 
283
358
  LambdaDataSourceConfig.add_member(:lambda_function_arn, Shapes::ShapeRef.new(shape: String, required: true, location_name: "lambdaFunctionArn"))
@@ -301,6 +376,15 @@ module Aws::AppSync
301
376
  ListDataSourcesResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: PaginationToken, location_name: "nextToken"))
302
377
  ListDataSourcesResponse.struct_class = Types::ListDataSourcesResponse
303
378
 
379
+ ListFunctionsRequest.add_member(:api_id, Shapes::ShapeRef.new(shape: String, required: true, location: "uri", location_name: "apiId"))
380
+ ListFunctionsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: PaginationToken, location: "querystring", location_name: "nextToken"))
381
+ ListFunctionsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location: "querystring", location_name: "maxResults"))
382
+ ListFunctionsRequest.struct_class = Types::ListFunctionsRequest
383
+
384
+ ListFunctionsResponse.add_member(:functions, Shapes::ShapeRef.new(shape: Functions, location_name: "functions"))
385
+ ListFunctionsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: PaginationToken, location_name: "nextToken"))
386
+ ListFunctionsResponse.struct_class = Types::ListFunctionsResponse
387
+
304
388
  ListGraphqlApisRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: PaginationToken, location: "querystring", location_name: "nextToken"))
305
389
  ListGraphqlApisRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location: "querystring", location_name: "maxResults"))
306
390
  ListGraphqlApisRequest.struct_class = Types::ListGraphqlApisRequest
@@ -309,6 +393,16 @@ module Aws::AppSync
309
393
  ListGraphqlApisResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: PaginationToken, location_name: "nextToken"))
310
394
  ListGraphqlApisResponse.struct_class = Types::ListGraphqlApisResponse
311
395
 
396
+ ListResolversByFunctionRequest.add_member(:api_id, Shapes::ShapeRef.new(shape: String, required: true, location: "uri", location_name: "apiId"))
397
+ ListResolversByFunctionRequest.add_member(:function_id, Shapes::ShapeRef.new(shape: String, required: true, location: "uri", location_name: "functionId"))
398
+ ListResolversByFunctionRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: PaginationToken, location: "querystring", location_name: "nextToken"))
399
+ ListResolversByFunctionRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location: "querystring", location_name: "maxResults"))
400
+ ListResolversByFunctionRequest.struct_class = Types::ListResolversByFunctionRequest
401
+
402
+ ListResolversByFunctionResponse.add_member(:resolvers, Shapes::ShapeRef.new(shape: Resolvers, location_name: "resolvers"))
403
+ ListResolversByFunctionResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: PaginationToken, location_name: "nextToken"))
404
+ ListResolversByFunctionResponse.struct_class = Types::ListResolversByFunctionResponse
405
+
312
406
  ListResolversRequest.add_member(:api_id, Shapes::ShapeRef.new(shape: String, required: true, location: "uri", location_name: "apiId"))
313
407
  ListResolversRequest.add_member(:type_name, Shapes::ShapeRef.new(shape: String, required: true, location: "uri", location_name: "typeName"))
314
408
  ListResolversRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: PaginationToken, location: "querystring", location_name: "nextToken"))
@@ -342,12 +436,28 @@ module Aws::AppSync
342
436
  OpenIDConnectConfig.add_member(:auth_ttl, Shapes::ShapeRef.new(shape: Long, location_name: "authTTL"))
343
437
  OpenIDConnectConfig.struct_class = Types::OpenIDConnectConfig
344
438
 
439
+ PipelineConfig.add_member(:functions, Shapes::ShapeRef.new(shape: FunctionsIds, location_name: "functions"))
440
+ PipelineConfig.struct_class = Types::PipelineConfig
441
+
442
+ RdsHttpEndpointConfig.add_member(:aws_region, Shapes::ShapeRef.new(shape: String, location_name: "awsRegion"))
443
+ RdsHttpEndpointConfig.add_member(:db_cluster_identifier, Shapes::ShapeRef.new(shape: String, location_name: "dbClusterIdentifier"))
444
+ RdsHttpEndpointConfig.add_member(:database_name, Shapes::ShapeRef.new(shape: String, location_name: "databaseName"))
445
+ RdsHttpEndpointConfig.add_member(:schema, Shapes::ShapeRef.new(shape: String, location_name: "schema"))
446
+ RdsHttpEndpointConfig.add_member(:aws_secret_store_arn, Shapes::ShapeRef.new(shape: String, location_name: "awsSecretStoreArn"))
447
+ RdsHttpEndpointConfig.struct_class = Types::RdsHttpEndpointConfig
448
+
449
+ RelationalDatabaseDataSourceConfig.add_member(:relational_database_source_type, Shapes::ShapeRef.new(shape: RelationalDatabaseSourceType, location_name: "relationalDatabaseSourceType"))
450
+ RelationalDatabaseDataSourceConfig.add_member(:rds_http_endpoint_config, Shapes::ShapeRef.new(shape: RdsHttpEndpointConfig, location_name: "rdsHttpEndpointConfig"))
451
+ RelationalDatabaseDataSourceConfig.struct_class = Types::RelationalDatabaseDataSourceConfig
452
+
345
453
  Resolver.add_member(:type_name, Shapes::ShapeRef.new(shape: ResourceName, location_name: "typeName"))
346
454
  Resolver.add_member(:field_name, Shapes::ShapeRef.new(shape: ResourceName, location_name: "fieldName"))
347
455
  Resolver.add_member(:data_source_name, Shapes::ShapeRef.new(shape: ResourceName, location_name: "dataSourceName"))
348
456
  Resolver.add_member(:resolver_arn, Shapes::ShapeRef.new(shape: String, location_name: "resolverArn"))
349
457
  Resolver.add_member(:request_mapping_template, Shapes::ShapeRef.new(shape: MappingTemplate, location_name: "requestMappingTemplate"))
350
458
  Resolver.add_member(:response_mapping_template, Shapes::ShapeRef.new(shape: MappingTemplate, location_name: "responseMappingTemplate"))
459
+ Resolver.add_member(:kind, Shapes::ShapeRef.new(shape: ResolverKind, location_name: "kind"))
460
+ Resolver.add_member(:pipeline_config, Shapes::ShapeRef.new(shape: PipelineConfig, location_name: "pipelineConfig"))
351
461
  Resolver.struct_class = Types::Resolver
352
462
 
353
463
  Resolvers.member = Shapes::ShapeRef.new(shape: Resolver)
@@ -386,11 +496,25 @@ module Aws::AppSync
386
496
  UpdateDataSourceRequest.add_member(:lambda_config, Shapes::ShapeRef.new(shape: LambdaDataSourceConfig, location_name: "lambdaConfig"))
387
497
  UpdateDataSourceRequest.add_member(:elasticsearch_config, Shapes::ShapeRef.new(shape: ElasticsearchDataSourceConfig, location_name: "elasticsearchConfig"))
388
498
  UpdateDataSourceRequest.add_member(:http_config, Shapes::ShapeRef.new(shape: HttpDataSourceConfig, location_name: "httpConfig"))
499
+ UpdateDataSourceRequest.add_member(:relational_database_config, Shapes::ShapeRef.new(shape: RelationalDatabaseDataSourceConfig, location_name: "relationalDatabaseConfig"))
389
500
  UpdateDataSourceRequest.struct_class = Types::UpdateDataSourceRequest
390
501
 
391
502
  UpdateDataSourceResponse.add_member(:data_source, Shapes::ShapeRef.new(shape: DataSource, location_name: "dataSource"))
392
503
  UpdateDataSourceResponse.struct_class = Types::UpdateDataSourceResponse
393
504
 
505
+ UpdateFunctionRequest.add_member(:api_id, Shapes::ShapeRef.new(shape: String, required: true, location: "uri", location_name: "apiId"))
506
+ UpdateFunctionRequest.add_member(:name, Shapes::ShapeRef.new(shape: ResourceName, required: true, location_name: "name"))
507
+ UpdateFunctionRequest.add_member(:description, Shapes::ShapeRef.new(shape: String, location_name: "description"))
508
+ UpdateFunctionRequest.add_member(:function_id, Shapes::ShapeRef.new(shape: ResourceName, required: true, location: "uri", location_name: "functionId"))
509
+ UpdateFunctionRequest.add_member(:data_source_name, Shapes::ShapeRef.new(shape: ResourceName, required: true, location_name: "dataSourceName"))
510
+ UpdateFunctionRequest.add_member(:request_mapping_template, Shapes::ShapeRef.new(shape: MappingTemplate, required: true, location_name: "requestMappingTemplate"))
511
+ UpdateFunctionRequest.add_member(:response_mapping_template, Shapes::ShapeRef.new(shape: MappingTemplate, location_name: "responseMappingTemplate"))
512
+ UpdateFunctionRequest.add_member(:function_version, Shapes::ShapeRef.new(shape: String, required: true, location_name: "functionVersion"))
513
+ UpdateFunctionRequest.struct_class = Types::UpdateFunctionRequest
514
+
515
+ UpdateFunctionResponse.add_member(:function_configuration, Shapes::ShapeRef.new(shape: FunctionConfiguration, location_name: "functionConfiguration"))
516
+ UpdateFunctionResponse.struct_class = Types::UpdateFunctionResponse
517
+
394
518
  UpdateGraphqlApiRequest.add_member(:api_id, Shapes::ShapeRef.new(shape: String, required: true, location: "uri", location_name: "apiId"))
395
519
  UpdateGraphqlApiRequest.add_member(:name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "name"))
396
520
  UpdateGraphqlApiRequest.add_member(:log_config, Shapes::ShapeRef.new(shape: LogConfig, location_name: "logConfig"))
@@ -405,9 +529,11 @@ module Aws::AppSync
405
529
  UpdateResolverRequest.add_member(:api_id, Shapes::ShapeRef.new(shape: String, required: true, location: "uri", location_name: "apiId"))
406
530
  UpdateResolverRequest.add_member(:type_name, Shapes::ShapeRef.new(shape: ResourceName, required: true, location: "uri", location_name: "typeName"))
407
531
  UpdateResolverRequest.add_member(:field_name, Shapes::ShapeRef.new(shape: ResourceName, required: true, location: "uri", location_name: "fieldName"))
408
- UpdateResolverRequest.add_member(:data_source_name, Shapes::ShapeRef.new(shape: ResourceName, required: true, location_name: "dataSourceName"))
532
+ UpdateResolverRequest.add_member(:data_source_name, Shapes::ShapeRef.new(shape: ResourceName, location_name: "dataSourceName"))
409
533
  UpdateResolverRequest.add_member(:request_mapping_template, Shapes::ShapeRef.new(shape: MappingTemplate, required: true, location_name: "requestMappingTemplate"))
410
534
  UpdateResolverRequest.add_member(:response_mapping_template, Shapes::ShapeRef.new(shape: MappingTemplate, location_name: "responseMappingTemplate"))
535
+ UpdateResolverRequest.add_member(:kind, Shapes::ShapeRef.new(shape: ResolverKind, location_name: "kind"))
536
+ UpdateResolverRequest.add_member(:pipeline_config, Shapes::ShapeRef.new(shape: PipelineConfig, location_name: "pipelineConfig"))
411
537
  UpdateResolverRequest.struct_class = Types::UpdateResolverRequest
412
538
 
413
539
  UpdateResolverResponse.add_member(:resolver, Shapes::ShapeRef.new(shape: Resolver, location_name: "resolver"))
@@ -441,6 +567,7 @@ module Aws::AppSync
441
567
  "protocol" => "rest-json",
442
568
  "serviceAbbreviation" => "AWSAppSync",
443
569
  "serviceFullName" => "AWS AppSync",
570
+ "serviceId" => "AppSync",
444
571
  "signatureVersion" => "v4",
445
572
  "signingName" => "appsync",
446
573
  "uid" => "appsync-2017-07-25",
@@ -475,6 +602,18 @@ module Aws::AppSync
475
602
  o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
476
603
  end)
477
604
 
605
+ api.add_operation(:create_function, Seahorse::Model::Operation.new.tap do |o|
606
+ o.name = "CreateFunction"
607
+ o.http_method = "POST"
608
+ o.http_request_uri = "/v1/apis/{apiId}/functions"
609
+ o.input = Shapes::ShapeRef.new(shape: CreateFunctionRequest)
610
+ o.output = Shapes::ShapeRef.new(shape: CreateFunctionResponse)
611
+ o.errors << Shapes::ShapeRef.new(shape: ConcurrentModificationException)
612
+ o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
613
+ o.errors << Shapes::ShapeRef.new(shape: UnauthorizedException)
614
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
615
+ end)
616
+
478
617
  api.add_operation(:create_graphql_api, Seahorse::Model::Operation.new.tap do |o|
479
618
  o.name = "CreateGraphqlApi"
480
619
  o.http_method = "POST"
@@ -539,6 +678,18 @@ module Aws::AppSync
539
678
  o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
540
679
  end)
541
680
 
681
+ api.add_operation(:delete_function, Seahorse::Model::Operation.new.tap do |o|
682
+ o.name = "DeleteFunction"
683
+ o.http_method = "DELETE"
684
+ o.http_request_uri = "/v1/apis/{apiId}/functions/{functionId}"
685
+ o.input = Shapes::ShapeRef.new(shape: DeleteFunctionRequest)
686
+ o.output = Shapes::ShapeRef.new(shape: DeleteFunctionResponse)
687
+ o.errors << Shapes::ShapeRef.new(shape: ConcurrentModificationException)
688
+ o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
689
+ o.errors << Shapes::ShapeRef.new(shape: UnauthorizedException)
690
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
691
+ end)
692
+
542
693
  api.add_operation(:delete_graphql_api, Seahorse::Model::Operation.new.tap do |o|
543
694
  o.name = "DeleteGraphqlApi"
544
695
  o.http_method = "DELETE"
@@ -590,6 +741,17 @@ module Aws::AppSync
590
741
  o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
591
742
  end)
592
743
 
744
+ api.add_operation(:get_function, Seahorse::Model::Operation.new.tap do |o|
745
+ o.name = "GetFunction"
746
+ o.http_method = "GET"
747
+ o.http_request_uri = "/v1/apis/{apiId}/functions/{functionId}"
748
+ o.input = Shapes::ShapeRef.new(shape: GetFunctionRequest)
749
+ o.output = Shapes::ShapeRef.new(shape: GetFunctionResponse)
750
+ o.errors << Shapes::ShapeRef.new(shape: ConcurrentModificationException)
751
+ o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
752
+ o.errors << Shapes::ShapeRef.new(shape: UnauthorizedException)
753
+ end)
754
+
593
755
  api.add_operation(:get_graphql_api, Seahorse::Model::Operation.new.tap do |o|
594
756
  o.name = "GetGraphqlApi"
595
757
  o.http_method = "GET"
@@ -674,6 +836,18 @@ module Aws::AppSync
674
836
  o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
675
837
  end)
676
838
 
839
+ api.add_operation(:list_functions, Seahorse::Model::Operation.new.tap do |o|
840
+ o.name = "ListFunctions"
841
+ o.http_method = "GET"
842
+ o.http_request_uri = "/v1/apis/{apiId}/functions"
843
+ o.input = Shapes::ShapeRef.new(shape: ListFunctionsRequest)
844
+ o.output = Shapes::ShapeRef.new(shape: ListFunctionsResponse)
845
+ o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
846
+ o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
847
+ o.errors << Shapes::ShapeRef.new(shape: UnauthorizedException)
848
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
849
+ end)
850
+
677
851
  api.add_operation(:list_graphql_apis, Seahorse::Model::Operation.new.tap do |o|
678
852
  o.name = "ListGraphqlApis"
679
853
  o.http_method = "GET"
@@ -697,6 +871,18 @@ module Aws::AppSync
697
871
  o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
698
872
  end)
699
873
 
874
+ api.add_operation(:list_resolvers_by_function, Seahorse::Model::Operation.new.tap do |o|
875
+ o.name = "ListResolversByFunction"
876
+ o.http_method = "GET"
877
+ o.http_request_uri = "/v1/apis/{apiId}/functions/{functionId}/resolvers"
878
+ o.input = Shapes::ShapeRef.new(shape: ListResolversByFunctionRequest)
879
+ o.output = Shapes::ShapeRef.new(shape: ListResolversByFunctionResponse)
880
+ o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
881
+ o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
882
+ o.errors << Shapes::ShapeRef.new(shape: UnauthorizedException)
883
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
884
+ end)
885
+
700
886
  api.add_operation(:list_types, Seahorse::Model::Operation.new.tap do |o|
701
887
  o.name = "ListTypes"
702
888
  o.http_method = "GET"
@@ -750,6 +936,18 @@ module Aws::AppSync
750
936
  o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
751
937
  end)
752
938
 
939
+ api.add_operation(:update_function, Seahorse::Model::Operation.new.tap do |o|
940
+ o.name = "UpdateFunction"
941
+ o.http_method = "POST"
942
+ o.http_request_uri = "/v1/apis/{apiId}/functions/{functionId}"
943
+ o.input = Shapes::ShapeRef.new(shape: UpdateFunctionRequest)
944
+ o.output = Shapes::ShapeRef.new(shape: UpdateFunctionResponse)
945
+ o.errors << Shapes::ShapeRef.new(shape: ConcurrentModificationException)
946
+ o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
947
+ o.errors << Shapes::ShapeRef.new(shape: UnauthorizedException)
948
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
949
+ end)
950
+
753
951
  api.add_operation(:update_graphql_api, Seahorse::Model::Operation.new.tap do |o|
754
952
  o.name = "UpdateGraphqlApi"
755
953
  o.http_method = "POST"
@@ -10,13 +10,13 @@ module Aws::AppSync
10
10
 
11
11
  # Describes an API key.
12
12
  #
13
- # Customers invoke AWS AppSync GraphQL APIs with API keys as an identity
14
- # mechanism. There are two key versions:
13
+ # Customers invoke AWS AppSync GraphQL API operations with API keys as
14
+ # an identity mechanism. There are two key versions:
15
15
  #
16
16
  # **da1**\: This version was introduced at launch in November 2017.
17
17
  # These keys always expire after 7 days. Key expiration is managed by
18
- # DynamoDB TTL. The keys will cease to be valid after Feb 21, 2018 and
19
- # should not be used after that date.
18
+ # Amazon DynamoDB TTL. The keys ceased to be valid after February 21,
19
+ # 2018 and should not be used after that date.
20
20
  #
21
21
  # * `ListApiKeys` returns the expiration time in milliseconds.
22
22
  #
@@ -26,10 +26,11 @@ module Aws::AppSync
26
26
  #
27
27
  # * `DeleteApiKey` deletes the item from the table.
28
28
  #
29
- # * Expiration is stored in DynamoDB as milliseconds. This results in a
30
- # bug where keys are not automatically deleted because DynamoDB
31
- # expects the TTL to be stored in seconds. As a one-time action, we
32
- # will delete these keys from the table after Feb 21, 2018.
29
+ # * Expiration is stored in Amazon DynamoDB as milliseconds. This
30
+ # results in a bug where keys are not automatically deleted because
31
+ # DynamoDB expects the TTL to be stored in seconds. As a one-time
32
+ # action, we will delete these keys from the table after February 21,
33
+ # 2018.
33
34
  #
34
35
  # **da2**\: This version was introduced in February 2018 when AppSync
35
36
  # added support to extend key expiration.
@@ -45,7 +46,7 @@ module Aws::AppSync
45
46
  #
46
47
  # * `DeleteApiKey` deletes the item from the table.
47
48
  #
48
- # * Expiration is stored in DynamoDB as seconds.
49
+ # * Expiration is stored in Amazon DynamoDB as seconds.
49
50
  #
50
51
  # @!attribute [rw] id
51
52
  # The API key ID.
@@ -69,6 +70,66 @@ module Aws::AppSync
69
70
  include Aws::Structure
70
71
  end
71
72
 
73
+ # The authorization config in case the HTTP endpoint requires
74
+ # authorization.
75
+ #
76
+ # @note When making an API call, you may pass AuthorizationConfig
77
+ # data as a hash:
78
+ #
79
+ # {
80
+ # authorization_type: "AWS_IAM", # required, accepts AWS_IAM
81
+ # aws_iam_config: {
82
+ # signing_region: "String",
83
+ # signing_service_name: "String",
84
+ # },
85
+ # }
86
+ #
87
+ # @!attribute [rw] authorization_type
88
+ # The authorization type required by the HTTP endpoint.
89
+ #
90
+ # * **AWS\_IAM**\: The authorization type is Sigv4.
91
+ #
92
+ # ^
93
+ # @return [String]
94
+ #
95
+ # @!attribute [rw] aws_iam_config
96
+ # The AWS IAM settings.
97
+ # @return [Types::AwsIamConfig]
98
+ #
99
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/AuthorizationConfig AWS API Documentation
100
+ #
101
+ class AuthorizationConfig < Struct.new(
102
+ :authorization_type,
103
+ :aws_iam_config)
104
+ include Aws::Structure
105
+ end
106
+
107
+ # The AWS IAM configuration.
108
+ #
109
+ # @note When making an API call, you may pass AwsIamConfig
110
+ # data as a hash:
111
+ #
112
+ # {
113
+ # signing_region: "String",
114
+ # signing_service_name: "String",
115
+ # }
116
+ #
117
+ # @!attribute [rw] signing_region
118
+ # The signing region for AWS IAM authorization.
119
+ # @return [String]
120
+ #
121
+ # @!attribute [rw] signing_service_name
122
+ # The signing service name for AWS IAM authorization.
123
+ # @return [String]
124
+ #
125
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/AwsIamConfig AWS API Documentation
126
+ #
127
+ class AwsIamConfig < Struct.new(
128
+ :signing_region,
129
+ :signing_service_name)
130
+ include Aws::Structure
131
+ end
132
+
72
133
  # @note When making an API call, you may pass CreateApiKeyRequest
73
134
  # data as a hash:
74
135
  #
@@ -120,7 +181,7 @@ module Aws::AppSync
120
181
  # api_id: "String", # required
121
182
  # name: "ResourceName", # required
122
183
  # description: "String",
123
- # type: "AWS_LAMBDA", # required, accepts AWS_LAMBDA, AMAZON_DYNAMODB, AMAZON_ELASTICSEARCH, NONE, HTTP
184
+ # type: "AWS_LAMBDA", # required, accepts AWS_LAMBDA, AMAZON_DYNAMODB, AMAZON_ELASTICSEARCH, NONE, HTTP, RELATIONAL_DATABASE
124
185
  # service_role_arn: "String",
125
186
  # dynamodb_config: {
126
187
  # table_name: "String", # required
@@ -136,6 +197,23 @@ module Aws::AppSync
136
197
  # },
137
198
  # http_config: {
138
199
  # endpoint: "String",
200
+ # authorization_config: {
201
+ # authorization_type: "AWS_IAM", # required, accepts AWS_IAM
202
+ # aws_iam_config: {
203
+ # signing_region: "String",
204
+ # signing_service_name: "String",
205
+ # },
206
+ # },
207
+ # },
208
+ # relational_database_config: {
209
+ # relational_database_source_type: "RDS_HTTP_ENDPOINT", # accepts RDS_HTTP_ENDPOINT
210
+ # rds_http_endpoint_config: {
211
+ # aws_region: "String",
212
+ # db_cluster_identifier: "String",
213
+ # database_name: "String",
214
+ # schema: "String",
215
+ # aws_secret_store_arn: "String",
216
+ # },
139
217
  # },
140
218
  # }
141
219
  #
@@ -156,12 +234,12 @@ module Aws::AppSync
156
234
  # @return [String]
157
235
  #
158
236
  # @!attribute [rw] service_role_arn
159
- # The IAM service role ARN for the data source. The system assumes
237
+ # The AWS IAM service role ARN for the data source. The system assumes
160
238
  # this role when accessing the data source.
161
239
  # @return [String]
162
240
  #
163
241
  # @!attribute [rw] dynamodb_config
164
- # DynamoDB settings.
242
+ # Amazon DynamoDB settings.
165
243
  # @return [Types::DynamodbDataSourceConfig]
166
244
  #
167
245
  # @!attribute [rw] lambda_config
@@ -169,13 +247,17 @@ module Aws::AppSync
169
247
  # @return [Types::LambdaDataSourceConfig]
170
248
  #
171
249
  # @!attribute [rw] elasticsearch_config
172
- # Amazon Elasticsearch settings.
250
+ # Amazon Elasticsearch Service settings.
173
251
  # @return [Types::ElasticsearchDataSourceConfig]
174
252
  #
175
253
  # @!attribute [rw] http_config
176
- # Http endpoint settings.
254
+ # HTTP endpoint settings.
177
255
  # @return [Types::HttpDataSourceConfig]
178
256
  #
257
+ # @!attribute [rw] relational_database_config
258
+ # Relational database settings.
259
+ # @return [Types::RelationalDatabaseDataSourceConfig]
260
+ #
179
261
  # @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/CreateDataSourceRequest AWS API Documentation
180
262
  #
181
263
  class CreateDataSourceRequest < Struct.new(
@@ -187,7 +269,8 @@ module Aws::AppSync
187
269
  :dynamodb_config,
188
270
  :lambda_config,
189
271
  :elasticsearch_config,
190
- :http_config)
272
+ :http_config,
273
+ :relational_database_config)
191
274
  include Aws::Structure
192
275
  end
193
276
 
@@ -202,6 +285,73 @@ module Aws::AppSync
202
285
  include Aws::Structure
203
286
  end
204
287
 
288
+ # @note When making an API call, you may pass CreateFunctionRequest
289
+ # data as a hash:
290
+ #
291
+ # {
292
+ # api_id: "String", # required
293
+ # name: "ResourceName", # required
294
+ # description: "String",
295
+ # data_source_name: "ResourceName", # required
296
+ # request_mapping_template: "MappingTemplate", # required
297
+ # response_mapping_template: "MappingTemplate",
298
+ # function_version: "String", # required
299
+ # }
300
+ #
301
+ # @!attribute [rw] api_id
302
+ # The GraphQL API ID.
303
+ # @return [String]
304
+ #
305
+ # @!attribute [rw] name
306
+ # The `Function` name. The function name does not have to be unique.
307
+ # @return [String]
308
+ #
309
+ # @!attribute [rw] description
310
+ # The `Function` description.
311
+ # @return [String]
312
+ #
313
+ # @!attribute [rw] data_source_name
314
+ # The `Function` `DataSource` name.
315
+ # @return [String]
316
+ #
317
+ # @!attribute [rw] request_mapping_template
318
+ # The `Function` request mapping template. Functions support only the
319
+ # 2018-05-29 version of the request mapping template.
320
+ # @return [String]
321
+ #
322
+ # @!attribute [rw] response_mapping_template
323
+ # The `Function` response mapping template.
324
+ # @return [String]
325
+ #
326
+ # @!attribute [rw] function_version
327
+ # The `version` of the request mapping template. Currently the
328
+ # supported value is 2018-05-29.
329
+ # @return [String]
330
+ #
331
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/CreateFunctionRequest AWS API Documentation
332
+ #
333
+ class CreateFunctionRequest < Struct.new(
334
+ :api_id,
335
+ :name,
336
+ :description,
337
+ :data_source_name,
338
+ :request_mapping_template,
339
+ :response_mapping_template,
340
+ :function_version)
341
+ include Aws::Structure
342
+ end
343
+
344
+ # @!attribute [rw] function_configuration
345
+ # The `Function` object.
346
+ # @return [Types::FunctionConfiguration]
347
+ #
348
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/CreateFunctionResponse AWS API Documentation
349
+ #
350
+ class CreateFunctionResponse < Struct.new(
351
+ :function_configuration)
352
+ include Aws::Structure
353
+ end
354
+
205
355
  # @note When making an API call, you may pass CreateGraphqlApiRequest
206
356
  # data as a hash:
207
357
  #
@@ -231,19 +381,20 @@ module Aws::AppSync
231
381
  # @return [String]
232
382
  #
233
383
  # @!attribute [rw] log_config
234
- # The Amazon CloudWatch logs configuration.
384
+ # The Amazon CloudWatch Logs configuration.
235
385
  # @return [Types::LogConfig]
236
386
  #
237
387
  # @!attribute [rw] authentication_type
238
- # The authentication type: API key, IAM, or Amazon Cognito User Pools.
388
+ # The authentication type: API key, AWS IAM, or Amazon Cognito user
389
+ # pools.
239
390
  # @return [String]
240
391
  #
241
392
  # @!attribute [rw] user_pool_config
242
- # The Amazon Cognito User Pool configuration.
393
+ # The Amazon Cognito user pool configuration.
243
394
  # @return [Types::UserPoolConfig]
244
395
  #
245
396
  # @!attribute [rw] open_id_connect_config
246
- # The Open Id Connect configuration configuration.
397
+ # The OpenID Connect configuration.
247
398
  # @return [Types::OpenIDConnectConfig]
248
399
  #
249
400
  # @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/CreateGraphqlApiRequest AWS API Documentation
@@ -275,9 +426,13 @@ module Aws::AppSync
275
426
  # api_id: "String", # required
276
427
  # type_name: "ResourceName", # required
277
428
  # field_name: "ResourceName", # required
278
- # data_source_name: "ResourceName", # required
429
+ # data_source_name: "ResourceName",
279
430
  # request_mapping_template: "MappingTemplate", # required
280
431
  # response_mapping_template: "MappingTemplate",
432
+ # kind: "UNIT", # accepts UNIT, PIPELINE
433
+ # pipeline_config: {
434
+ # functions: ["String"],
435
+ # },
281
436
  # }
282
437
  #
283
438
  # @!attribute [rw] api_id
@@ -308,6 +463,23 @@ module Aws::AppSync
308
463
  # The mapping template to be used for responses from the data source.
309
464
  # @return [String]
310
465
  #
466
+ # @!attribute [rw] kind
467
+ # The resolver type.
468
+ #
469
+ # * **UNIT**\: A UNIT resolver type. A UNIT resolver is the default
470
+ # resolver type. A UNIT resolver enables you to execute a GraphQL
471
+ # query against a single data source.
472
+ #
473
+ # * **PIPELINE**\: A PIPELINE resolver type. A PIPELINE resolver
474
+ # enables you to execute a series of `Function` in a serial manner.
475
+ # You can use a pipeline resolver to execute a GraphQL query against
476
+ # multiple data sources.
477
+ # @return [String]
478
+ #
479
+ # @!attribute [rw] pipeline_config
480
+ # The `PipelineConfig`.
481
+ # @return [Types::PipelineConfig]
482
+ #
311
483
  # @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/CreateResolverRequest AWS API Documentation
312
484
  #
313
485
  class CreateResolverRequest < Struct.new(
@@ -316,7 +488,9 @@ module Aws::AppSync
316
488
  :field_name,
317
489
  :data_source_name,
318
490
  :request_mapping_template,
319
- :response_mapping_template)
491
+ :response_mapping_template,
492
+ :kind,
493
+ :pipeline_config)
320
494
  include Aws::Structure
321
495
  end
322
496
 
@@ -404,35 +578,42 @@ module Aws::AppSync
404
578
  #
405
579
  # * **AWS\_LAMBDA**\: The data source is an AWS Lambda function.
406
580
  #
407
- # * **NONE**\: There is no data source. This type is used when when
408
- # you wish to invoke a GraphQL operation without connecting to a
409
- # data source, such as performing data transformation with resolvers
410
- # or triggering a subscription to be invoked from a mutation.
581
+ # * **NONE**\: There is no data source. This type is used when you
582
+ # wish to invoke a GraphQL operation without connecting to a data
583
+ # source, such as performing data transformation with resolvers or
584
+ # triggering a subscription to be invoked from a mutation.
411
585
  #
412
586
  # * **HTTP**\: The data source is an HTTP endpoint.
587
+ #
588
+ # * **RELATIONAL\_DATABASE**\: The data source is a relational
589
+ # database.
413
590
  # @return [String]
414
591
  #
415
592
  # @!attribute [rw] service_role_arn
416
- # The IAM service role ARN for the data source. The system assumes
593
+ # The AWS IAM service role ARN for the data source. The system assumes
417
594
  # this role when accessing the data source.
418
595
  # @return [String]
419
596
  #
420
597
  # @!attribute [rw] dynamodb_config
421
- # DynamoDB settings.
598
+ # Amazon DynamoDB settings.
422
599
  # @return [Types::DynamodbDataSourceConfig]
423
600
  #
424
601
  # @!attribute [rw] lambda_config
425
- # Lambda settings.
602
+ # AWS Lambda settings.
426
603
  # @return [Types::LambdaDataSourceConfig]
427
604
  #
428
605
  # @!attribute [rw] elasticsearch_config
429
- # Amazon Elasticsearch settings.
606
+ # Amazon Elasticsearch Service settings.
430
607
  # @return [Types::ElasticsearchDataSourceConfig]
431
608
  #
432
609
  # @!attribute [rw] http_config
433
- # Http endpoint settings.
610
+ # HTTP endpoint settings.
434
611
  # @return [Types::HttpDataSourceConfig]
435
612
  #
613
+ # @!attribute [rw] relational_database_config
614
+ # Relational database settings.
615
+ # @return [Types::RelationalDatabaseDataSourceConfig]
616
+ #
436
617
  # @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/DataSource AWS API Documentation
437
618
  #
438
619
  class DataSource < Struct.new(
@@ -444,7 +625,8 @@ module Aws::AppSync
444
625
  :dynamodb_config,
445
626
  :lambda_config,
446
627
  :elasticsearch_config,
447
- :http_config)
628
+ :http_config,
629
+ :relational_database_config)
448
630
  include Aws::Structure
449
631
  end
450
632
 
@@ -504,6 +686,34 @@ module Aws::AppSync
504
686
  #
505
687
  class DeleteDataSourceResponse < Aws::EmptyStructure; end
506
688
 
689
+ # @note When making an API call, you may pass DeleteFunctionRequest
690
+ # data as a hash:
691
+ #
692
+ # {
693
+ # api_id: "String", # required
694
+ # function_id: "ResourceName", # required
695
+ # }
696
+ #
697
+ # @!attribute [rw] api_id
698
+ # The GraphQL API ID.
699
+ # @return [String]
700
+ #
701
+ # @!attribute [rw] function_id
702
+ # The `Function` ID.
703
+ # @return [String]
704
+ #
705
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/DeleteFunctionRequest AWS API Documentation
706
+ #
707
+ class DeleteFunctionRequest < Struct.new(
708
+ :api_id,
709
+ :function_id)
710
+ include Aws::Structure
711
+ end
712
+
713
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/DeleteFunctionResponse AWS API Documentation
714
+ #
715
+ class DeleteFunctionResponse < Aws::EmptyStructure; end
716
+
507
717
  # @note When making an API call, you may pass DeleteGraphqlApiRequest
508
718
  # data as a hash:
509
719
  #
@@ -588,7 +798,7 @@ module Aws::AppSync
588
798
  #
589
799
  class DeleteTypeResponse < Aws::EmptyStructure; end
590
800
 
591
- # Describes a DynamoDB data source configuration.
801
+ # Describes an Amazon DynamoDB data source configuration.
592
802
  #
593
803
  # @note When making an API call, you may pass DynamodbDataSourceConfig
594
804
  # data as a hash:
@@ -604,7 +814,7 @@ module Aws::AppSync
604
814
  # @return [String]
605
815
  #
606
816
  # @!attribute [rw] aws_region
607
- # The AWS region.
817
+ # The AWS Region.
608
818
  # @return [String]
609
819
  #
610
820
  # @!attribute [rw] use_caller_credentials
@@ -635,7 +845,7 @@ module Aws::AppSync
635
845
  # @return [String]
636
846
  #
637
847
  # @!attribute [rw] aws_region
638
- # The AWS region.
848
+ # The AWS Region.
639
849
  # @return [String]
640
850
  #
641
851
  # @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/ElasticsearchDataSourceConfig AWS API Documentation
@@ -646,6 +856,57 @@ module Aws::AppSync
646
856
  include Aws::Structure
647
857
  end
648
858
 
859
+ # A function is a reusable entity. Multiple functions can be used to
860
+ # compose the resolver logic.
861
+ #
862
+ # @!attribute [rw] function_id
863
+ # A unique ID representing the `Function` object.
864
+ # @return [String]
865
+ #
866
+ # @!attribute [rw] function_arn
867
+ # The ARN of the `Function` object.
868
+ # @return [String]
869
+ #
870
+ # @!attribute [rw] name
871
+ # The name of the `Function` object.
872
+ # @return [String]
873
+ #
874
+ # @!attribute [rw] description
875
+ # The `Function` description.
876
+ # @return [String]
877
+ #
878
+ # @!attribute [rw] data_source_name
879
+ # The name of the `DataSource`.
880
+ # @return [String]
881
+ #
882
+ # @!attribute [rw] request_mapping_template
883
+ # The `Function` request mapping template. Functions support only the
884
+ # 2018-05-29 version of the request mapping template.
885
+ # @return [String]
886
+ #
887
+ # @!attribute [rw] response_mapping_template
888
+ # The `Function` response mapping template.
889
+ # @return [String]
890
+ #
891
+ # @!attribute [rw] function_version
892
+ # The version of the request mapping template. Currently only the
893
+ # 2018-05-29 version of the template is supported.
894
+ # @return [String]
895
+ #
896
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/FunctionConfiguration AWS API Documentation
897
+ #
898
+ class FunctionConfiguration < Struct.new(
899
+ :function_id,
900
+ :function_arn,
901
+ :name,
902
+ :description,
903
+ :data_source_name,
904
+ :request_mapping_template,
905
+ :response_mapping_template,
906
+ :function_version)
907
+ include Aws::Structure
908
+ end
909
+
649
910
  # @note When making an API call, you may pass GetDataSourceRequest
650
911
  # data as a hash:
651
912
  #
@@ -681,6 +942,41 @@ module Aws::AppSync
681
942
  include Aws::Structure
682
943
  end
683
944
 
945
+ # @note When making an API call, you may pass GetFunctionRequest
946
+ # data as a hash:
947
+ #
948
+ # {
949
+ # api_id: "String", # required
950
+ # function_id: "ResourceName", # required
951
+ # }
952
+ #
953
+ # @!attribute [rw] api_id
954
+ # The GraphQL API ID.
955
+ # @return [String]
956
+ #
957
+ # @!attribute [rw] function_id
958
+ # The `Function` ID.
959
+ # @return [String]
960
+ #
961
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/GetFunctionRequest AWS API Documentation
962
+ #
963
+ class GetFunctionRequest < Struct.new(
964
+ :api_id,
965
+ :function_id)
966
+ include Aws::Structure
967
+ end
968
+
969
+ # @!attribute [rw] function_configuration
970
+ # The `Function` object.
971
+ # @return [Types::FunctionConfiguration]
972
+ #
973
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/GetFunctionResponse AWS API Documentation
974
+ #
975
+ class GetFunctionResponse < Struct.new(
976
+ :function_configuration)
977
+ include Aws::Structure
978
+ end
979
+
684
980
  # @note When making an API call, you may pass GetGraphqlApiRequest
685
981
  # data as a hash:
686
982
  #
@@ -888,11 +1184,11 @@ module Aws::AppSync
888
1184
  # @return [Types::LogConfig]
889
1185
  #
890
1186
  # @!attribute [rw] user_pool_config
891
- # The Amazon Cognito User Pool configuration.
1187
+ # The Amazon Cognito user pool configuration.
892
1188
  # @return [Types::UserPoolConfig]
893
1189
  #
894
1190
  # @!attribute [rw] open_id_connect_config
895
- # The Open Id Connect configuration.
1191
+ # The OpenID Connect configuration.
896
1192
  # @return [Types::OpenIDConnectConfig]
897
1193
  #
898
1194
  # @!attribute [rw] arn
@@ -917,30 +1213,43 @@ module Aws::AppSync
917
1213
  include Aws::Structure
918
1214
  end
919
1215
 
920
- # Describes a Http data source configuration.
1216
+ # Describes an HTTP data source configuration.
921
1217
  #
922
1218
  # @note When making an API call, you may pass HttpDataSourceConfig
923
1219
  # data as a hash:
924
1220
  #
925
1221
  # {
926
1222
  # endpoint: "String",
1223
+ # authorization_config: {
1224
+ # authorization_type: "AWS_IAM", # required, accepts AWS_IAM
1225
+ # aws_iam_config: {
1226
+ # signing_region: "String",
1227
+ # signing_service_name: "String",
1228
+ # },
1229
+ # },
927
1230
  # }
928
1231
  #
929
1232
  # @!attribute [rw] endpoint
930
- # The Http url endpoint. You can either specify the domain name or ip
931
- # and port combination and the url scheme must be http(s). If the port
932
- # is not specified, AWS AppSync will use the default port 80 for http
933
- # endpoint and port 443 for https endpoints.
1233
+ # The HTTP URL endpoint. You can either specify the domain name or IP,
1234
+ # and port combination, and the URL scheme must be HTTP or HTTPS. If
1235
+ # the port is not specified, AWS AppSync uses the default port 80 for
1236
+ # the HTTP endpoint and port 443 for HTTPS endpoints.
934
1237
  # @return [String]
935
1238
  #
1239
+ # @!attribute [rw] authorization_config
1240
+ # The authorization config in case the HTTP endpoint requires
1241
+ # authorization.
1242
+ # @return [Types::AuthorizationConfig]
1243
+ #
936
1244
  # @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/HttpDataSourceConfig AWS API Documentation
937
1245
  #
938
1246
  class HttpDataSourceConfig < Struct.new(
939
- :endpoint)
1247
+ :endpoint,
1248
+ :authorization_config)
940
1249
  include Aws::Structure
941
1250
  end
942
1251
 
943
- # Describes a Lambda data source configuration.
1252
+ # Describes an AWS Lambda data source configuration.
944
1253
  #
945
1254
  # @note When making an API call, you may pass LambdaDataSourceConfig
946
1255
  # data as a hash:
@@ -1058,6 +1367,56 @@ module Aws::AppSync
1058
1367
  include Aws::Structure
1059
1368
  end
1060
1369
 
1370
+ # @note When making an API call, you may pass ListFunctionsRequest
1371
+ # data as a hash:
1372
+ #
1373
+ # {
1374
+ # api_id: "String", # required
1375
+ # next_token: "PaginationToken",
1376
+ # max_results: 1,
1377
+ # }
1378
+ #
1379
+ # @!attribute [rw] api_id
1380
+ # The GraphQL API ID.
1381
+ # @return [String]
1382
+ #
1383
+ # @!attribute [rw] next_token
1384
+ # An identifier that was returned from the previous call to this
1385
+ # operation, which can be used to return the next set of items in the
1386
+ # list.
1387
+ # @return [String]
1388
+ #
1389
+ # @!attribute [rw] max_results
1390
+ # The maximum number of results you want the request to return.
1391
+ # @return [Integer]
1392
+ #
1393
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/ListFunctionsRequest AWS API Documentation
1394
+ #
1395
+ class ListFunctionsRequest < Struct.new(
1396
+ :api_id,
1397
+ :next_token,
1398
+ :max_results)
1399
+ include Aws::Structure
1400
+ end
1401
+
1402
+ # @!attribute [rw] functions
1403
+ # A list of `Function` objects.
1404
+ # @return [Array<Types::FunctionConfiguration>]
1405
+ #
1406
+ # @!attribute [rw] next_token
1407
+ # An identifier that was returned from the previous call to this
1408
+ # operation, which can be used to return the next set of items in the
1409
+ # list.
1410
+ # @return [String]
1411
+ #
1412
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/ListFunctionsResponse AWS API Documentation
1413
+ #
1414
+ class ListFunctionsResponse < Struct.new(
1415
+ :functions,
1416
+ :next_token)
1417
+ include Aws::Structure
1418
+ end
1419
+
1061
1420
  # @note When making an API call, you may pass ListGraphqlApisRequest
1062
1421
  # data as a hash:
1063
1422
  #
@@ -1101,6 +1460,61 @@ module Aws::AppSync
1101
1460
  include Aws::Structure
1102
1461
  end
1103
1462
 
1463
+ # @note When making an API call, you may pass ListResolversByFunctionRequest
1464
+ # data as a hash:
1465
+ #
1466
+ # {
1467
+ # api_id: "String", # required
1468
+ # function_id: "String", # required
1469
+ # next_token: "PaginationToken",
1470
+ # max_results: 1,
1471
+ # }
1472
+ #
1473
+ # @!attribute [rw] api_id
1474
+ # The API ID.
1475
+ # @return [String]
1476
+ #
1477
+ # @!attribute [rw] function_id
1478
+ # The Function ID.
1479
+ # @return [String]
1480
+ #
1481
+ # @!attribute [rw] next_token
1482
+ # An identifier that was returned from the previous call to this
1483
+ # operation, which you can use to return the next set of items in the
1484
+ # list.
1485
+ # @return [String]
1486
+ #
1487
+ # @!attribute [rw] max_results
1488
+ # The maximum number of results you want the request to return.
1489
+ # @return [Integer]
1490
+ #
1491
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/ListResolversByFunctionRequest AWS API Documentation
1492
+ #
1493
+ class ListResolversByFunctionRequest < Struct.new(
1494
+ :api_id,
1495
+ :function_id,
1496
+ :next_token,
1497
+ :max_results)
1498
+ include Aws::Structure
1499
+ end
1500
+
1501
+ # @!attribute [rw] resolvers
1502
+ # The list of resolvers.
1503
+ # @return [Array<Types::Resolver>]
1504
+ #
1505
+ # @!attribute [rw] next_token
1506
+ # An identifier that can be used to return the next set of items in
1507
+ # the list.
1508
+ # @return [String]
1509
+ #
1510
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/ListResolversByFunctionResponse AWS API Documentation
1511
+ #
1512
+ class ListResolversByFunctionResponse < Struct.new(
1513
+ :resolvers,
1514
+ :next_token)
1515
+ include Aws::Structure
1516
+ end
1517
+
1104
1518
  # @note When making an API call, you may pass ListResolversRequest
1105
1519
  # data as a hash:
1106
1520
  #
@@ -1222,7 +1636,7 @@ module Aws::AppSync
1222
1636
  # }
1223
1637
  #
1224
1638
  # @!attribute [rw] field_log_level
1225
- # The field logging level. Values can be NONE, ERROR, ALL.
1639
+ # The field logging level. Values can be NONE, ERROR, or ALL.
1226
1640
  #
1227
1641
  # * **NONE**\: No field-level logs are captured.
1228
1642
  #
@@ -1258,7 +1672,7 @@ module Aws::AppSync
1258
1672
  include Aws::Structure
1259
1673
  end
1260
1674
 
1261
- # Describes an Open Id Connect configuration.
1675
+ # Describes an OpenID Connect configuration.
1262
1676
  #
1263
1677
  # @note When making an API call, you may pass OpenIDConnectConfig
1264
1678
  # data as a hash:
@@ -1271,17 +1685,16 @@ module Aws::AppSync
1271
1685
  # }
1272
1686
  #
1273
1687
  # @!attribute [rw] issuer
1274
- # The issuer for the open id connect configuration. The issuer
1275
- # returned by discovery MUST exactly match the value of iss in the ID
1276
- # Token.
1688
+ # The issuer for the OpenID Connect configuration. The issuer returned
1689
+ # by discovery must exactly match the value of `iss` in the ID token.
1277
1690
  # @return [String]
1278
1691
  #
1279
1692
  # @!attribute [rw] client_id
1280
- # The client identifier of the Relying party at the OpenID Provider.
1281
- # This identifier is typically obtained when the Relying party is
1282
- # registered with the OpenID Provider. You can specify a regular
1283
- # expression so the AWS AppSync can validate against multiple client
1284
- # identifiers at a time
1693
+ # The client identifier of the Relying party at the OpenID identity
1694
+ # provider. This identifier is typically obtained when the Relying
1695
+ # party is registered with the OpenID identity provider. You can
1696
+ # specify a regular expression so the AWS AppSync can validate against
1697
+ # multiple client identifiers at a time.
1285
1698
  # @return [String]
1286
1699
  #
1287
1700
  # @!attribute [rw] iat_ttl
@@ -1304,6 +1717,107 @@ module Aws::AppSync
1304
1717
  include Aws::Structure
1305
1718
  end
1306
1719
 
1720
+ # The pipeline configuration for a resolver of kind `PIPELINE`.
1721
+ #
1722
+ # @note When making an API call, you may pass PipelineConfig
1723
+ # data as a hash:
1724
+ #
1725
+ # {
1726
+ # functions: ["String"],
1727
+ # }
1728
+ #
1729
+ # @!attribute [rw] functions
1730
+ # A list of `Function` objects.
1731
+ # @return [Array<String>]
1732
+ #
1733
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/PipelineConfig AWS API Documentation
1734
+ #
1735
+ class PipelineConfig < Struct.new(
1736
+ :functions)
1737
+ include Aws::Structure
1738
+ end
1739
+
1740
+ # The Amazon RDS HTTP endpoint configuration.
1741
+ #
1742
+ # @note When making an API call, you may pass RdsHttpEndpointConfig
1743
+ # data as a hash:
1744
+ #
1745
+ # {
1746
+ # aws_region: "String",
1747
+ # db_cluster_identifier: "String",
1748
+ # database_name: "String",
1749
+ # schema: "String",
1750
+ # aws_secret_store_arn: "String",
1751
+ # }
1752
+ #
1753
+ # @!attribute [rw] aws_region
1754
+ # AWS Region for RDS HTTP endpoint.
1755
+ # @return [String]
1756
+ #
1757
+ # @!attribute [rw] db_cluster_identifier
1758
+ # Amazon RDS cluster identifier.
1759
+ # @return [String]
1760
+ #
1761
+ # @!attribute [rw] database_name
1762
+ # Logical database name.
1763
+ # @return [String]
1764
+ #
1765
+ # @!attribute [rw] schema
1766
+ # Logical schema name.
1767
+ # @return [String]
1768
+ #
1769
+ # @!attribute [rw] aws_secret_store_arn
1770
+ # AWS secret store ARN for database credentials.
1771
+ # @return [String]
1772
+ #
1773
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/RdsHttpEndpointConfig AWS API Documentation
1774
+ #
1775
+ class RdsHttpEndpointConfig < Struct.new(
1776
+ :aws_region,
1777
+ :db_cluster_identifier,
1778
+ :database_name,
1779
+ :schema,
1780
+ :aws_secret_store_arn)
1781
+ include Aws::Structure
1782
+ end
1783
+
1784
+ # Describes a relational database data source configuration.
1785
+ #
1786
+ # @note When making an API call, you may pass RelationalDatabaseDataSourceConfig
1787
+ # data as a hash:
1788
+ #
1789
+ # {
1790
+ # relational_database_source_type: "RDS_HTTP_ENDPOINT", # accepts RDS_HTTP_ENDPOINT
1791
+ # rds_http_endpoint_config: {
1792
+ # aws_region: "String",
1793
+ # db_cluster_identifier: "String",
1794
+ # database_name: "String",
1795
+ # schema: "String",
1796
+ # aws_secret_store_arn: "String",
1797
+ # },
1798
+ # }
1799
+ #
1800
+ # @!attribute [rw] relational_database_source_type
1801
+ # Source type for the relational database.
1802
+ #
1803
+ # * **RDS\_HTTP\_ENDPOINT**\: The relational database source type is
1804
+ # an Amazon RDS HTTP endpoint.
1805
+ #
1806
+ # ^
1807
+ # @return [String]
1808
+ #
1809
+ # @!attribute [rw] rds_http_endpoint_config
1810
+ # Amazon RDS HTTP endpoint settings.
1811
+ # @return [Types::RdsHttpEndpointConfig]
1812
+ #
1813
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/RelationalDatabaseDataSourceConfig AWS API Documentation
1814
+ #
1815
+ class RelationalDatabaseDataSourceConfig < Struct.new(
1816
+ :relational_database_source_type,
1817
+ :rds_http_endpoint_config)
1818
+ include Aws::Structure
1819
+ end
1820
+
1307
1821
  # Describes a resolver.
1308
1822
  #
1309
1823
  # @!attribute [rw] type_name
@@ -1330,6 +1844,23 @@ module Aws::AppSync
1330
1844
  # The response mapping template.
1331
1845
  # @return [String]
1332
1846
  #
1847
+ # @!attribute [rw] kind
1848
+ # The resolver type.
1849
+ #
1850
+ # * **UNIT**\: A UNIT resolver type. A UNIT resolver is the default
1851
+ # resolver type. A UNIT resolver enables you to execute a GraphQL
1852
+ # query against a single data source.
1853
+ #
1854
+ # * **PIPELINE**\: A PIPELINE resolver type. A PIPELINE resolver
1855
+ # enables you to execute a series of `Function` in a serial manner.
1856
+ # You can use a pipeline resolver to execute a GraphQL query against
1857
+ # multiple data sources.
1858
+ # @return [String]
1859
+ #
1860
+ # @!attribute [rw] pipeline_config
1861
+ # The `PipelineConfig`.
1862
+ # @return [Types::PipelineConfig]
1863
+ #
1333
1864
  # @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/Resolver AWS API Documentation
1334
1865
  #
1335
1866
  class Resolver < Struct.new(
@@ -1338,7 +1869,9 @@ module Aws::AppSync
1338
1869
  :data_source_name,
1339
1870
  :resolver_arn,
1340
1871
  :request_mapping_template,
1341
- :response_mapping_template)
1872
+ :response_mapping_template,
1873
+ :kind,
1874
+ :pipeline_config)
1342
1875
  include Aws::Structure
1343
1876
  end
1344
1877
 
@@ -1368,7 +1901,7 @@ module Aws::AppSync
1368
1901
 
1369
1902
  # @!attribute [rw] status
1370
1903
  # The current state of the schema (PROCESSING, ACTIVE, or DELETING).
1371
- # Once the schema is in the ACTIVE state, you can add data.
1904
+ # When the schema is in the ACTIVE state, you can add data.
1372
1905
  # @return [String]
1373
1906
  #
1374
1907
  # @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/StartSchemaCreationResponse AWS API Documentation
@@ -1422,7 +1955,7 @@ module Aws::AppSync
1422
1955
  # }
1423
1956
  #
1424
1957
  # @!attribute [rw] api_id
1425
- # The ID for the GraphQL API
1958
+ # The ID for the GraphQL API.
1426
1959
  # @return [String]
1427
1960
  #
1428
1961
  # @!attribute [rw] id
@@ -1467,7 +2000,7 @@ module Aws::AppSync
1467
2000
  # api_id: "String", # required
1468
2001
  # name: "ResourceName", # required
1469
2002
  # description: "String",
1470
- # type: "AWS_LAMBDA", # required, accepts AWS_LAMBDA, AMAZON_DYNAMODB, AMAZON_ELASTICSEARCH, NONE, HTTP
2003
+ # type: "AWS_LAMBDA", # required, accepts AWS_LAMBDA, AMAZON_DYNAMODB, AMAZON_ELASTICSEARCH, NONE, HTTP, RELATIONAL_DATABASE
1471
2004
  # service_role_arn: "String",
1472
2005
  # dynamodb_config: {
1473
2006
  # table_name: "String", # required
@@ -1483,6 +2016,23 @@ module Aws::AppSync
1483
2016
  # },
1484
2017
  # http_config: {
1485
2018
  # endpoint: "String",
2019
+ # authorization_config: {
2020
+ # authorization_type: "AWS_IAM", # required, accepts AWS_IAM
2021
+ # aws_iam_config: {
2022
+ # signing_region: "String",
2023
+ # signing_service_name: "String",
2024
+ # },
2025
+ # },
2026
+ # },
2027
+ # relational_database_config: {
2028
+ # relational_database_source_type: "RDS_HTTP_ENDPOINT", # accepts RDS_HTTP_ENDPOINT
2029
+ # rds_http_endpoint_config: {
2030
+ # aws_region: "String",
2031
+ # db_cluster_identifier: "String",
2032
+ # database_name: "String",
2033
+ # schema: "String",
2034
+ # aws_secret_store_arn: "String",
2035
+ # },
1486
2036
  # },
1487
2037
  # }
1488
2038
  #
@@ -1507,21 +2057,25 @@ module Aws::AppSync
1507
2057
  # @return [String]
1508
2058
  #
1509
2059
  # @!attribute [rw] dynamodb_config
1510
- # The new DynamoDB configuration.
2060
+ # The new Amazon DynamoDB configuration.
1511
2061
  # @return [Types::DynamodbDataSourceConfig]
1512
2062
  #
1513
2063
  # @!attribute [rw] lambda_config
1514
- # The new Lambda configuration.
2064
+ # The new AWS Lambda configuration.
1515
2065
  # @return [Types::LambdaDataSourceConfig]
1516
2066
  #
1517
2067
  # @!attribute [rw] elasticsearch_config
1518
- # The new Elasticsearch configuration.
2068
+ # The new Elasticsearch Service configuration.
1519
2069
  # @return [Types::ElasticsearchDataSourceConfig]
1520
2070
  #
1521
2071
  # @!attribute [rw] http_config
1522
- # The new http endpoint configuration
2072
+ # The new HTTP endpoint configuration.
1523
2073
  # @return [Types::HttpDataSourceConfig]
1524
2074
  #
2075
+ # @!attribute [rw] relational_database_config
2076
+ # The new relational database configuration.
2077
+ # @return [Types::RelationalDatabaseDataSourceConfig]
2078
+ #
1525
2079
  # @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/UpdateDataSourceRequest AWS API Documentation
1526
2080
  #
1527
2081
  class UpdateDataSourceRequest < Struct.new(
@@ -1533,7 +2087,8 @@ module Aws::AppSync
1533
2087
  :dynamodb_config,
1534
2088
  :lambda_config,
1535
2089
  :elasticsearch_config,
1536
- :http_config)
2090
+ :http_config,
2091
+ :relational_database_config)
1537
2092
  include Aws::Structure
1538
2093
  end
1539
2094
 
@@ -1548,6 +2103,79 @@ module Aws::AppSync
1548
2103
  include Aws::Structure
1549
2104
  end
1550
2105
 
2106
+ # @note When making an API call, you may pass UpdateFunctionRequest
2107
+ # data as a hash:
2108
+ #
2109
+ # {
2110
+ # api_id: "String", # required
2111
+ # name: "ResourceName", # required
2112
+ # description: "String",
2113
+ # function_id: "ResourceName", # required
2114
+ # data_source_name: "ResourceName", # required
2115
+ # request_mapping_template: "MappingTemplate", # required
2116
+ # response_mapping_template: "MappingTemplate",
2117
+ # function_version: "String", # required
2118
+ # }
2119
+ #
2120
+ # @!attribute [rw] api_id
2121
+ # The GraphQL API ID.
2122
+ # @return [String]
2123
+ #
2124
+ # @!attribute [rw] name
2125
+ # The `Function` name.
2126
+ # @return [String]
2127
+ #
2128
+ # @!attribute [rw] description
2129
+ # The `Function` description.
2130
+ # @return [String]
2131
+ #
2132
+ # @!attribute [rw] function_id
2133
+ # The function ID.
2134
+ # @return [String]
2135
+ #
2136
+ # @!attribute [rw] data_source_name
2137
+ # The `Function` `DataSource` name.
2138
+ # @return [String]
2139
+ #
2140
+ # @!attribute [rw] request_mapping_template
2141
+ # The `Function` request mapping template. Functions support only the
2142
+ # 2018-05-29 version of the request mapping template.
2143
+ # @return [String]
2144
+ #
2145
+ # @!attribute [rw] response_mapping_template
2146
+ # The `Function` request mapping template.
2147
+ # @return [String]
2148
+ #
2149
+ # @!attribute [rw] function_version
2150
+ # The `version` of the request mapping template. Currently the
2151
+ # supported value is 2018-05-29.
2152
+ # @return [String]
2153
+ #
2154
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/UpdateFunctionRequest AWS API Documentation
2155
+ #
2156
+ class UpdateFunctionRequest < Struct.new(
2157
+ :api_id,
2158
+ :name,
2159
+ :description,
2160
+ :function_id,
2161
+ :data_source_name,
2162
+ :request_mapping_template,
2163
+ :response_mapping_template,
2164
+ :function_version)
2165
+ include Aws::Structure
2166
+ end
2167
+
2168
+ # @!attribute [rw] function_configuration
2169
+ # The `Function` object.
2170
+ # @return [Types::FunctionConfiguration]
2171
+ #
2172
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/UpdateFunctionResponse AWS API Documentation
2173
+ #
2174
+ class UpdateFunctionResponse < Struct.new(
2175
+ :function_configuration)
2176
+ include Aws::Structure
2177
+ end
2178
+
1551
2179
  # @note When making an API call, you may pass UpdateGraphqlApiRequest
1552
2180
  # data as a hash:
1553
2181
  #
@@ -1582,7 +2210,7 @@ module Aws::AppSync
1582
2210
  # @return [String]
1583
2211
  #
1584
2212
  # @!attribute [rw] log_config
1585
- # The Amazon CloudWatch logs configuration for the `GraphqlApi`
2213
+ # The Amazon CloudWatch Logs configuration for the `GraphqlApi`
1586
2214
  # object.
1587
2215
  # @return [Types::LogConfig]
1588
2216
  #
@@ -1591,13 +2219,12 @@ module Aws::AppSync
1591
2219
  # @return [String]
1592
2220
  #
1593
2221
  # @!attribute [rw] user_pool_config
1594
- # The new Amazon Cognito User Pool configuration for the `GraphqlApi`
2222
+ # The new Amazon Cognito user pool configuration for the `GraphqlApi`
1595
2223
  # object.
1596
2224
  # @return [Types::UserPoolConfig]
1597
2225
  #
1598
2226
  # @!attribute [rw] open_id_connect_config
1599
- # The Open Id Connect configuration configuration for the `GraphqlApi`
1600
- # object.
2227
+ # The OpenID Connect configuration for the `GraphqlApi` object.
1601
2228
  # @return [Types::OpenIDConnectConfig]
1602
2229
  #
1603
2230
  # @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/UpdateGraphqlApiRequest AWS API Documentation
@@ -1630,9 +2257,13 @@ module Aws::AppSync
1630
2257
  # api_id: "String", # required
1631
2258
  # type_name: "ResourceName", # required
1632
2259
  # field_name: "ResourceName", # required
1633
- # data_source_name: "ResourceName", # required
2260
+ # data_source_name: "ResourceName",
1634
2261
  # request_mapping_template: "MappingTemplate", # required
1635
2262
  # response_mapping_template: "MappingTemplate",
2263
+ # kind: "UNIT", # accepts UNIT, PIPELINE
2264
+ # pipeline_config: {
2265
+ # functions: ["String"],
2266
+ # },
1636
2267
  # }
1637
2268
  #
1638
2269
  # @!attribute [rw] api_id
@@ -1659,6 +2290,23 @@ module Aws::AppSync
1659
2290
  # The new response mapping template.
1660
2291
  # @return [String]
1661
2292
  #
2293
+ # @!attribute [rw] kind
2294
+ # The resolver type.
2295
+ #
2296
+ # * **UNIT**\: A UNIT resolver type. A UNIT resolver is the default
2297
+ # resolver type. A UNIT resolver enables you to execute a GraphQL
2298
+ # query against a single data source.
2299
+ #
2300
+ # * **PIPELINE**\: A PIPELINE resolver type. A PIPELINE resolver
2301
+ # enables you to execute a series of `Function` in a serial manner.
2302
+ # You can use a pipeline resolver to execute a GraphQL query against
2303
+ # multiple data sources.
2304
+ # @return [String]
2305
+ #
2306
+ # @!attribute [rw] pipeline_config
2307
+ # The `PipelineConfig`.
2308
+ # @return [Types::PipelineConfig]
2309
+ #
1662
2310
  # @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/UpdateResolverRequest AWS API Documentation
1663
2311
  #
1664
2312
  class UpdateResolverRequest < Struct.new(
@@ -1667,7 +2315,9 @@ module Aws::AppSync
1667
2315
  :field_name,
1668
2316
  :data_source_name,
1669
2317
  :request_mapping_template,
1670
- :response_mapping_template)
2318
+ :response_mapping_template,
2319
+ :kind,
2320
+ :pipeline_config)
1671
2321
  include Aws::Structure
1672
2322
  end
1673
2323
 
@@ -1729,7 +2379,7 @@ module Aws::AppSync
1729
2379
  include Aws::Structure
1730
2380
  end
1731
2381
 
1732
- # Describes an Amazon Cognito User Pool configuration.
2382
+ # Describes an Amazon Cognito user pool configuration.
1733
2383
  #
1734
2384
  # @note When making an API call, you may pass UserPoolConfig
1735
2385
  # data as a hash:
@@ -1746,18 +2396,18 @@ module Aws::AppSync
1746
2396
  # @return [String]
1747
2397
  #
1748
2398
  # @!attribute [rw] aws_region
1749
- # The AWS region in which the user pool was created.
2399
+ # The AWS Region in which the user pool was created.
1750
2400
  # @return [String]
1751
2401
  #
1752
2402
  # @!attribute [rw] default_action
1753
2403
  # The action that you want your GraphQL API to take when a request
1754
- # that uses Amazon Cognito User Pool authentication doesn't match the
1755
- # Amazon Cognito User Pool configuration.
2404
+ # that uses Amazon Cognito user pool authentication doesn't match the
2405
+ # Amazon Cognito user pool configuration.
1756
2406
  # @return [String]
1757
2407
  #
1758
2408
  # @!attribute [rw] app_id_client_regex
1759
- # A regular expression for validating the incoming Amazon Cognito User
1760
- # Pool app client ID.
2409
+ # A regular expression for validating the incoming Amazon Cognito user
2410
+ # pool app client ID.
1761
2411
  # @return [String]
1762
2412
  #
1763
2413
  # @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/UserPoolConfig AWS API Documentation