aws-sdk-appsync 1.8.0 → 1.9.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.
@@ -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