File: types.go

package info (click to toggle)
golang-github-aws-aws-sdk-go-v2 1.24.1-2~bpo12%2B1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm-backports
  • size: 554,032 kB
  • sloc: java: 15,941; makefile: 419; sh: 175
file content (1120 lines) | stat: -rw-r--r-- 35,261 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
// Code generated by smithy-go-codegen DO NOT EDIT.

package types

import (
	smithydocument "github.com/aws/smithy-go/document"
	"time"
)

// Describes an additional authentication provider.
type AdditionalAuthenticationProvider struct {

	// The authentication type: API key, Identity and Access Management (IAM), OpenID
	// Connect (OIDC), Amazon Cognito user pools, or Lambda.
	AuthenticationType AuthenticationType

	// Configuration for Lambda function authorization.
	LambdaAuthorizerConfig *LambdaAuthorizerConfig

	// The OIDC configuration.
	OpenIDConnectConfig *OpenIDConnectConfig

	// The Amazon Cognito user pool configuration.
	UserPoolConfig *CognitoUserPoolConfig

	noSmithyDocumentSerde
}

// Describes an ApiAssociation object.
type ApiAssociation struct {

	// The API ID.
	ApiId *string

	// Identifies the status of an association.
	//   - PROCESSING: The API association is being created. You cannot modify
	//   association requests during processing.
	//   - SUCCESS: The API association was successful. You can modify associations
	//   after success.
	//   - FAILED: The API association has failed. You can modify associations after
	//   failure.
	AssociationStatus AssociationStatus

	// Details about the last deployment status.
	DeploymentDetail *string

	// The domain name.
	DomainName *string

	noSmithyDocumentSerde
}

// The ApiCache object.
type ApiCache struct {

	// Caching behavior.
	//   - FULL_REQUEST_CACHING: All requests are fully cached.
	//   - PER_RESOLVER_CACHING: Individual resolvers that you specify are cached.
	ApiCachingBehavior ApiCachingBehavior

	// At-rest encryption flag for cache. You cannot update this setting after
	// creation.
	AtRestEncryptionEnabled bool

	// The cache instance status.
	//   - AVAILABLE: The instance is available for use.
	//   - CREATING: The instance is currently creating.
	//   - DELETING: The instance is currently deleting.
	//   - MODIFYING: The instance is currently modifying.
	//   - FAILED: The instance has failed creation.
	Status ApiCacheStatus

	// Transit encryption flag when connecting to cache. You cannot update this
	// setting after creation.
	TransitEncryptionEnabled bool

	// TTL in seconds for cache entries. Valid values are 1–3,600 seconds.
	Ttl int64

	// The cache instance type. Valid values are
	//   - SMALL
	//   - MEDIUM
	//   - LARGE
	//   - XLARGE
	//   - LARGE_2X
	//   - LARGE_4X
	//   - LARGE_8X (not available in all regions)
	//   - LARGE_12X
	// Historically, instance types were identified by an EC2-style value. As of July
	// 2020, this is deprecated, and the generic identifiers above should be used. The
	// following legacy instance types are available, but their use is discouraged:
	//   - T2_SMALL: A t2.small instance type.
	//   - T2_MEDIUM: A t2.medium instance type.
	//   - R4_LARGE: A r4.large instance type.
	//   - R4_XLARGE: A r4.xlarge instance type.
	//   - R4_2XLARGE: A r4.2xlarge instance type.
	//   - R4_4XLARGE: A r4.4xlarge instance type.
	//   - R4_8XLARGE: A r4.8xlarge instance type.
	Type ApiCacheType

	noSmithyDocumentSerde
}

// Describes an API key. Customers invoke AppSync GraphQL API operations with API
// keys as an identity mechanism. There are two key versions: da1: We introduced
// this version at launch in November 2017. These keys always expire after 7 days.
// Amazon DynamoDB TTL manages key expiration. These keys ceased to be valid after
// February 21, 2018, and they should no longer be used.
//   - ListApiKeys returns the expiration time in milliseconds.
//   - CreateApiKey returns the expiration time in milliseconds.
//   - UpdateApiKey is not available for this key version.
//   - DeleteApiKey deletes the item from the table.
//   - Expiration is stored in DynamoDB as milliseconds. This results in a bug
//     where keys are not automatically deleted because DynamoDB expects the TTL to be
//     stored in seconds. As a one-time action, we deleted these keys from the table on
//     February 21, 2018.
//
// da2: We introduced this version in February 2018 when AppSync added support to
// extend key expiration.
//   - ListApiKeys returns the expiration time and deletion time in seconds.
//   - CreateApiKey returns the expiration time and deletion time in seconds and
//     accepts a user-provided expiration time in seconds.
//   - UpdateApiKey returns the expiration time and and deletion time in seconds
//     and accepts a user-provided expiration time in seconds. Expired API keys are
//     kept for 60 days after the expiration time. You can update the key expiration
//     time as long as the key isn't deleted.
//   - DeleteApiKey deletes the item from the table.
//   - Expiration is stored in DynamoDB as seconds. After the expiration time,
//     using the key to authenticate will fail. However, you can reinstate the key
//     before deletion.
//   - Deletion is stored in DynamoDB as seconds. The key is deleted after
//     deletion time.
type ApiKey struct {

	// The time after which the API key is deleted. The date is represented as seconds
	// since the epoch, rounded down to the nearest hour.
	Deletes int64

	// A description of the purpose of the API key.
	Description *string

	// The time after which the API key expires. The date is represented as seconds
	// since the epoch, rounded down to the nearest hour.
	Expires int64

	// The API key ID.
	Id *string

	noSmithyDocumentSerde
}

// Describes a runtime used by an Amazon Web Services AppSync pipeline resolver or
// Amazon Web Services AppSync function. Specifies the name and version of the
// runtime to use. Note that if a runtime is specified, code must also be
// specified.
type AppSyncRuntime struct {

	// The name of the runtime to use. Currently, the only allowed value is APPSYNC_JS .
	//
	// This member is required.
	Name RuntimeName

	// The version of the runtime to use. Currently, the only allowed version is 1.0.0 .
	//
	// This member is required.
	RuntimeVersion *string

	noSmithyDocumentSerde
}

// The authorization configuration in case the HTTP endpoint requires
// authorization.
type AuthorizationConfig struct {

	// The authorization type that the HTTP endpoint requires.
	//   - AWS_IAM: The authorization type is Signature Version 4 (SigV4).
	//
	// This member is required.
	AuthorizationType AuthorizationType

	// The Identity and Access Management (IAM) settings.
	AwsIamConfig *AwsIamConfig

	noSmithyDocumentSerde
}

// The Identity and Access Management (IAM) configuration.
type AwsIamConfig struct {

	// The signing Amazon Web Services Region for IAM authorization.
	SigningRegion *string

	// The signing service name for IAM authorization.
	SigningServiceName *string

	noSmithyDocumentSerde
}

// Provides further details for the reason behind the bad request. For reason type
// CODE_ERROR , the detail will contain a list of code errors.
type BadRequestDetail struct {

	// Contains the list of errors in the request.
	CodeErrors []CodeError

	noSmithyDocumentSerde
}

// The caching configuration for a resolver that has caching activated.
type CachingConfig struct {

	// The TTL in seconds for a resolver that has caching activated. Valid values are
	// 1–3,600 seconds.
	//
	// This member is required.
	Ttl int64

	// The caching keys for a resolver that has caching activated. Valid values are
	// entries from the $context.arguments , $context.source , and $context.identity
	// maps.
	CachingKeys []string

	noSmithyDocumentSerde
}

// Describes an AppSync error.
type CodeError struct {

	// The type of code error. Examples include, but aren't limited to: LINT_ERROR ,
	// PARSER_ERROR .
	ErrorType *string

	// The line, column, and span location of the error in the code.
	Location *CodeErrorLocation

	// A user presentable error. Examples include, but aren't limited to: Parsing
	// error: Unterminated string literal .
	Value *string

	noSmithyDocumentSerde
}

// Describes the location of the error in a code sample.
type CodeErrorLocation struct {

	// The column number in the code. Defaults to 0 if unknown.
	Column int32

	// The line number in the code. Defaults to 0 if unknown.
	Line int32

	// The span/length of the error. Defaults to -1 if unknown.
	Span int32

	noSmithyDocumentSerde
}

// Describes an Amazon Cognito user pool configuration.
type CognitoUserPoolConfig struct {

	// The Amazon Web Services Region in which the user pool was created.
	//
	// This member is required.
	AwsRegion *string

	// The user pool ID.
	//
	// This member is required.
	UserPoolId *string

	// A regular expression for validating the incoming Amazon Cognito user pool app
	// client ID. If this value isn't set, no filtering is applied.
	AppIdClientRegex *string

	noSmithyDocumentSerde
}

// Describes a data source.
type DataSource struct {

	// The data source Amazon Resource Name (ARN).
	DataSourceArn *string

	// The description of the data source.
	Description *string

	// DynamoDB settings.
	DynamodbConfig *DynamodbDataSourceConfig

	// Amazon OpenSearch Service settings.
	ElasticsearchConfig *ElasticsearchDataSourceConfig

	// Amazon EventBridge settings.
	EventBridgeConfig *EventBridgeDataSourceConfig

	// HTTP endpoint settings.
	HttpConfig *HttpDataSourceConfig

	// Lambda settings.
	LambdaConfig *LambdaDataSourceConfig

	// The name of the data source.
	Name *string

	// Amazon OpenSearch Service settings.
	OpenSearchServiceConfig *OpenSearchServiceDataSourceConfig

	// Relational database settings.
	RelationalDatabaseConfig *RelationalDatabaseDataSourceConfig

	// The Identity and Access Management (IAM) service role Amazon Resource Name
	// (ARN) for the data source. The system assumes this role when accessing the data
	// source.
	ServiceRoleArn *string

	// The type of the data source.
	//   - AWS_LAMBDA: The data source is an Lambda function.
	//   - AMAZON_DYNAMODB: The data source is an Amazon DynamoDB table.
	//   - AMAZON_ELASTICSEARCH: The data source is an Amazon OpenSearch Service
	//   domain.
	//   - AMAZON_OPENSEARCH_SERVICE: The data source is an Amazon OpenSearch Service
	//   domain.
	//   - AMAZON_EVENTBRIDGE: The data source is an Amazon EventBridge configuration.
	//   - NONE: There is no data source. Use this type when you want to invoke a
	//   GraphQL operation without connecting to a data source, such as when you're
	//   performing data transformation with resolvers or invoking a subscription from a
	//   mutation.
	//   - HTTP: The data source is an HTTP endpoint.
	//   - RELATIONAL_DATABASE: The data source is a relational database.
	Type DataSourceType

	noSmithyDocumentSerde
}

// Contains the introspected data that was retrieved from the data source.
type DataSourceIntrospectionModel struct {

	// The DataSourceIntrospectionModelField object data.
	Fields []DataSourceIntrospectionModelField

	// The array of DataSourceIntrospectionModelIndex objects.
	Indexes []DataSourceIntrospectionModelIndex

	// The name of the model. For example, this could be the name of a single table in
	// a database.
	Name *string

	// The primary key stored as a DataSourceIntrospectionModelIndex object.
	PrimaryKey *DataSourceIntrospectionModelIndex

	// Contains the output of the SDL that was generated from the introspected types.
	// This is controlled by the includeModelsSDL parameter of the
	// GetDataSourceIntrospection operation.
	Sdl *string

	noSmithyDocumentSerde
}

// Represents the fields that were retrieved from the introspected data.
type DataSourceIntrospectionModelField struct {

	// The length value of the introspected field.
	Length int64

	// The name of the field that was retrieved from the introspected data.
	Name *string

	// The DataSourceIntrospectionModelFieldType object data.
	Type *DataSourceIntrospectionModelFieldType

	noSmithyDocumentSerde
}

// Represents the type data for each field retrieved from the introspection.
type DataSourceIntrospectionModelFieldType struct {

	// Specifies the classification of data. For example, this could be set to values
	// like Scalar or NonNull to indicate a fundamental property of the field. Valid
	// values include:
	//   - Scalar : Indicates the value is a primitive type (scalar).
	//   - NonNull : Indicates the field cannot be null .
	//   - List : Indicates the field contains a list.
	Kind *string

	// The name of the data type that represents the field. For example, String is a
	// valid name value.
	Name *string

	// The DataSourceIntrospectionModelFieldType object data. The type is only present
	// if DataSourceIntrospectionModelFieldType.kind is set to NonNull or List . The
	// type typically contains its own kind and name fields to represent the actual
	// type data. For instance, type could contain a kind value of Scalar with a name
	// value of String . The values Scalar and String will be collectively stored in
	// the values field.
	Type *DataSourceIntrospectionModelFieldType

	// The values of the type field. This field represents the AppSync data type
	// equivalent of the introspected field.
	Values []string

	noSmithyDocumentSerde
}

// The index that was retrieved from the introspected data.
type DataSourceIntrospectionModelIndex struct {

	// The fields of the index.
	Fields []string

	// The name of the index.
	Name *string

	noSmithyDocumentSerde
}

// Represents the output of a DataSourceIntrospectionResult . This is the populated
// result of a GetDataSourceIntrospection operation.
type DataSourceIntrospectionResult struct {

	// The array of DataSourceIntrospectionModel objects.
	Models []DataSourceIntrospectionModel

	// Determines the number of types to be returned in a single response before
	// paginating. This value is typically taken from nextToken value from the
	// previous response.
	NextToken *string

	noSmithyDocumentSerde
}

// Describes a Delta Sync configuration.
type DeltaSyncConfig struct {

	// The number of minutes that an Item is stored in the data source.
	BaseTableTTL int64

	// The Delta Sync table name.
	DeltaSyncTableName *string

	// The number of minutes that a Delta Sync log entry is stored in the Delta Sync
	// table.
	DeltaSyncTableTTL int64

	noSmithyDocumentSerde
}

// Describes a configuration for a custom domain.
type DomainNameConfig struct {

	// The domain name that AppSync provides.
	AppsyncDomainName *string

	// The Amazon Resource Name (ARN) of the certificate. This can be an Certificate
	// Manager (ACM) certificate or an Identity and Access Management (IAM) server
	// certificate.
	CertificateArn *string

	// A description of the DomainName configuration.
	Description *string

	// The domain name.
	DomainName *string

	// The ID of your Amazon Route 53 hosted zone.
	HostedZoneId *string

	noSmithyDocumentSerde
}

// Describes an Amazon DynamoDB data source configuration.
type DynamodbDataSourceConfig struct {

	// The Amazon Web Services Region.
	//
	// This member is required.
	AwsRegion *string

	// The table name.
	//
	// This member is required.
	TableName *string

	// The DeltaSyncConfig for a versioned data source.
	DeltaSyncConfig *DeltaSyncConfig

	// Set to TRUE to use Amazon Cognito credentials with this data source.
	UseCallerCredentials bool

	// Set to TRUE to use Conflict Detection and Resolution with this data source.
	Versioned bool

	noSmithyDocumentSerde
}

// Describes an OpenSearch data source configuration. As of September 2021, Amazon
// Elasticsearch service is Amazon OpenSearch Service. This configuration is
// deprecated. For new data sources, use OpenSearchServiceDataSourceConfig to
// specify an OpenSearch data source.
type ElasticsearchDataSourceConfig struct {

	// The Amazon Web Services Region.
	//
	// This member is required.
	AwsRegion *string

	// The endpoint.
	//
	// This member is required.
	Endpoint *string

	noSmithyDocumentSerde
}

// Contains the list of errors generated. When using JavaScript, this will apply
// to the request or response function evaluation.
type ErrorDetail struct {

	// The error payload.
	Message *string

	noSmithyDocumentSerde
}

// Contains the list of errors from a code evaluation response.
type EvaluateCodeErrorDetail struct {

	// Contains the list of CodeError objects.
	CodeErrors []CodeError

	// The error payload.
	Message *string

	noSmithyDocumentSerde
}

// Describes an Amazon EventBridge bus data source configuration.
type EventBridgeDataSourceConfig struct {

	// The ARN of the event bus. For more information about event buses, see Amazon
	// EventBridge event buses (https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-event-bus.html)
	// .
	//
	// This member is required.
	EventBusArn *string

	noSmithyDocumentSerde
}

// A function is a reusable entity. You can use multiple functions to compose the
// resolver logic.
type FunctionConfiguration struct {

	// The function code that contains the request and response functions. When code
	// is used, the runtime is required. The runtime value must be APPSYNC_JS .
	Code *string

	// The name of the DataSource .
	DataSourceName *string

	// The Function description.
	Description *string

	// The Amazon Resource Name (ARN) of the Function object.
	FunctionArn *string

	// A unique ID representing the Function object.
	FunctionId *string

	// The version of the request mapping template. Currently, only the 2018-05-29
	// version of the template is supported.
	FunctionVersion *string

	// The maximum batching size for a resolver.
	MaxBatchSize int32

	// The name of the Function object.
	Name *string

	// The Function request mapping template. Functions support only the 2018-05-29
	// version of the request mapping template.
	RequestMappingTemplate *string

	// The Function response mapping template.
	ResponseMappingTemplate *string

	// Describes a runtime used by an Amazon Web Services AppSync pipeline resolver or
	// Amazon Web Services AppSync function. Specifies the name and version of the
	// runtime to use. Note that if a runtime is specified, code must also be
	// specified.
	Runtime *AppSyncRuntime

	// Describes a Sync configuration for a resolver. Specifies which Conflict
	// Detection strategy and Resolution strategy to use when the resolver is invoked.
	SyncConfig *SyncConfig

	noSmithyDocumentSerde
}

// Describes a GraphQL API.
type GraphqlApi struct {

	// A list of additional authentication providers for the GraphqlApi API.
	AdditionalAuthenticationProviders []AdditionalAuthenticationProvider

	// The API ID.
	ApiId *string

	// The value that indicates whether the GraphQL API is a standard API ( GRAPHQL )
	// or merged API ( MERGED ).
	ApiType GraphQLApiType

	// The Amazon Resource Name (ARN).
	Arn *string

	// The authentication type.
	AuthenticationType AuthenticationType

	// The DNS records for the API.
	Dns map[string]string

	// Sets the value of the GraphQL API to enable ( ENABLED ) or disable ( DISABLED )
	// introspection. If no value is provided, the introspection configuration will be
	// set to ENABLED by default. This field will produce an error if the operation
	// attempts to use the introspection feature while this field is disabled. For more
	// information about introspection, see GraphQL introspection (https://graphql.org/learn/introspection/)
	// .
	IntrospectionConfig GraphQLApiIntrospectionConfig

	// Configuration for Lambda function authorization.
	LambdaAuthorizerConfig *LambdaAuthorizerConfig

	// The Amazon CloudWatch Logs configuration.
	LogConfig *LogConfig

	// The Identity and Access Management service role ARN for a merged API. The
	// AppSync service assumes this role on behalf of the Merged API to validate access
	// to source APIs at runtime and to prompt the AUTO_MERGE to update the merged API
	// endpoint with the source API changes automatically.
	MergedApiExecutionRoleArn *string

	// The API name.
	Name *string

	// The OpenID Connect configuration.
	OpenIDConnectConfig *OpenIDConnectConfig

	// The account owner of the GraphQL API.
	Owner *string

	// The owner contact information for an API resource. This field accepts any
	// string input with a length of 0 - 256 characters.
	OwnerContact *string

	// The maximum depth a query can have in a single request. Depth refers to the
	// amount of nested levels allowed in the body of query. The default value is 0
	// (or unspecified), which indicates there's no depth limit. If you set a limit, it
	// can be between 1 and 75 nested levels. This field will produce a limit error if
	// the operation falls out of bounds. Note that fields can still be set to nullable
	// or non-nullable. If a non-nullable field produces an error, the error will be
	// thrown upwards to the first nullable field available.
	QueryDepthLimit int32

	// The maximum number of resolvers that can be invoked in a single request. The
	// default value is 0 (or unspecified), which will set the limit to 10000 . When
	// specified, the limit value can be between 1 and 10000 . This field will produce
	// a limit error if the operation falls out of bounds.
	ResolverCountLimit int32

	// The tags.
	Tags map[string]string

	// The URIs.
	Uris map[string]string

	// The Amazon Cognito user pool configuration.
	UserPoolConfig *UserPoolConfig

	// Sets the value of the GraphQL API to public ( GLOBAL ) or private ( PRIVATE ).
	// If no value is provided, the visibility will be set to GLOBAL by default. This
	// value cannot be changed once the API has been created.
	Visibility GraphQLApiVisibility

	// The ARN of the WAF access control list (ACL) associated with this GraphqlApi ,
	// if one exists.
	WafWebAclArn *string

	// A flag indicating whether to use X-Ray tracing for this GraphqlApi .
	XrayEnabled bool

	noSmithyDocumentSerde
}

// Describes an HTTP data source configuration.
type HttpDataSourceConfig struct {

	// The authorization configuration in case the HTTP endpoint requires
	// authorization.
	AuthorizationConfig *AuthorizationConfig

	// The HTTP URL endpoint. You can specify either the domain name or IP, and port
	// combination, and the URL scheme must be HTTP or HTTPS. If you don't specify the
	// port, AppSync uses the default port 80 for the HTTP endpoint and port 443 for
	// HTTPS endpoints.
	Endpoint *string

	noSmithyDocumentSerde
}

// A LambdaAuthorizerConfig specifies how to authorize AppSync API access when
// using the AWS_LAMBDA authorizer mode. Be aware that an AppSync API can have
// only one Lambda authorizer configured at a time.
type LambdaAuthorizerConfig struct {

	// The Amazon Resource Name (ARN) of the Lambda function to be called for
	// authorization. This can be a standard Lambda ARN, a version ARN ( .../v3 ), or
	// an alias ARN. Note: This Lambda function must have the following resource-based
	// policy assigned to it. When configuring Lambda authorizers in the console, this
	// is done for you. To use the Command Line Interface (CLI), run the following:
	// aws lambda add-permission --function-name
	// "arn:aws:lambda:us-east-2:111122223333:function:my-function" --statement-id
	// "appsync" --principal appsync.amazonaws.com --action lambda:InvokeFunction
	//
	// This member is required.
	AuthorizerUri *string

	// The number of seconds a response should be cached for. The default is 0
	// seconds, which disables caching. If you don't specify a value for
	// authorizerResultTtlInSeconds , the default value is used. The maximum value is
	// one hour (3600 seconds). The Lambda function can override this by returning a
	// ttlOverride key in its response.
	AuthorizerResultTtlInSeconds int32

	// A regular expression for validation of tokens before the Lambda function is
	// called.
	IdentityValidationExpression *string

	noSmithyDocumentSerde
}

// The LambdaConflictHandlerConfig object when configuring LAMBDA as the Conflict
// Handler.
type LambdaConflictHandlerConfig struct {

	// The Amazon Resource Name (ARN) for the Lambda function to use as the Conflict
	// Handler.
	LambdaConflictHandlerArn *string

	noSmithyDocumentSerde
}

// Describes an Lambda data source configuration.
type LambdaDataSourceConfig struct {

	// The Amazon Resource Name (ARN) for the Lambda function.
	//
	// This member is required.
	LambdaFunctionArn *string

	noSmithyDocumentSerde
}

// The Amazon CloudWatch Logs configuration.
type LogConfig struct {

	// The service role that AppSync assumes to publish to CloudWatch logs in your
	// account.
	//
	// This member is required.
	CloudWatchLogsRoleArn *string

	// The field logging level. Values can be NONE, ERROR, or ALL.
	//   - NONE: No field-level logs are captured.
	//   - ERROR: Logs the following information only for the fields that are in
	//   error:
	//   - The error section in the server response.
	//   - Field-level errors.
	//   - The generated request/response functions that got resolved for error
	//   fields.
	//   - ALL: The following information is logged for all fields in the query:
	//   - Field-level tracing information.
	//   - The generated request/response functions that got resolved for each field.
	//
	// This member is required.
	FieldLogLevel FieldLogLevel

	// Set to TRUE to exclude sections that contain information such as headers,
	// context, and evaluated mapping templates, regardless of logging level.
	ExcludeVerboseContent bool

	noSmithyDocumentSerde
}

// Describes an OpenID Connect (OIDC) configuration.
type OpenIDConnectConfig struct {

	// The issuer for the OIDC configuration. The issuer returned by discovery must
	// exactly match the value of iss in the ID token.
	//
	// This member is required.
	Issuer *string

	// The number of milliseconds that a token is valid after being authenticated.
	AuthTTL int64

	// The client identifier of the relying party at the OpenID identity provider.
	// This identifier is typically obtained when the relying party is registered with
	// the OpenID identity provider. You can specify a regular expression so that
	// AppSync can validate against multiple client identifiers at a time.
	ClientId *string

	// The number of milliseconds that a token is valid after it's issued to a user.
	IatTTL int64

	noSmithyDocumentSerde
}

// Describes an OpenSearch data source configuration.
type OpenSearchServiceDataSourceConfig struct {

	// The Amazon Web Services Region.
	//
	// This member is required.
	AwsRegion *string

	// The endpoint.
	//
	// This member is required.
	Endpoint *string

	noSmithyDocumentSerde
}

// The pipeline configuration for a resolver of kind PIPELINE .
type PipelineConfig struct {

	// A list of Function objects.
	Functions []string

	noSmithyDocumentSerde
}

// Contains the metadata required to introspect the RDS cluster.
type RdsDataApiConfig struct {

	// The name of the database in the cluster.
	//
	// This member is required.
	DatabaseName *string

	// The resource ARN of the RDS cluster.
	//
	// This member is required.
	ResourceArn *string

	// The secret's ARN that was obtained from Secrets Manager. A secret consists of
	// secret information, the secret value, plus metadata about the secret. A secret
	// value can be a string or binary. It typically includes the ARN, secret name and
	// description, policies, tags, encryption key from the Key Management Service, and
	// key rotation data.
	//
	// This member is required.
	SecretArn *string

	noSmithyDocumentSerde
}

// The Amazon Relational Database Service (Amazon RDS) HTTP endpoint configuration.
type RdsHttpEndpointConfig struct {

	// Amazon Web Services Region for Amazon RDS HTTP endpoint.
	AwsRegion *string

	// Amazon Web Services secret store Amazon Resource Name (ARN) for database
	// credentials.
	AwsSecretStoreArn *string

	// Logical database name.
	DatabaseName *string

	// Amazon RDS cluster Amazon Resource Name (ARN).
	DbClusterIdentifier *string

	// Logical schema name.
	Schema *string

	noSmithyDocumentSerde
}

// Describes a relational database data source configuration.
type RelationalDatabaseDataSourceConfig struct {

	// Amazon RDS HTTP endpoint settings.
	RdsHttpEndpointConfig *RdsHttpEndpointConfig

	// Source type for the relational database.
	//   - RDS_HTTP_ENDPOINT: The relational database source type is an Amazon
	//   Relational Database Service (Amazon RDS) HTTP endpoint.
	RelationalDatabaseSourceType RelationalDatabaseSourceType

	noSmithyDocumentSerde
}

// Describes a resolver.
type Resolver struct {

	// The caching configuration for the resolver.
	CachingConfig *CachingConfig

	// The resolver code that contains the request and response functions. When code
	// is used, the runtime is required. The runtime value must be APPSYNC_JS .
	Code *string

	// The resolver data source name.
	DataSourceName *string

	// The resolver field name.
	FieldName *string

	// The resolver type.
	//   - UNIT: A UNIT resolver type. A UNIT resolver is the default resolver type.
	//   You can use a UNIT resolver to run a GraphQL query against a single data source.
	//
	//   - PIPELINE: A PIPELINE resolver type. You can use a PIPELINE resolver to
	//   invoke a series of Function objects in a serial manner. You can use a pipeline
	//   resolver to run a GraphQL query against multiple data sources.
	Kind ResolverKind

	// The maximum batching size for a resolver.
	MaxBatchSize int32

	// The PipelineConfig .
	PipelineConfig *PipelineConfig

	// The request mapping template.
	RequestMappingTemplate *string

	// The resolver Amazon Resource Name (ARN).
	ResolverArn *string

	// The response mapping template.
	ResponseMappingTemplate *string

	// Describes a runtime used by an Amazon Web Services AppSync pipeline resolver or
	// Amazon Web Services AppSync function. Specifies the name and version of the
	// runtime to use. Note that if a runtime is specified, code must also be
	// specified.
	Runtime *AppSyncRuntime

	// The SyncConfig for a resolver attached to a versioned data source.
	SyncConfig *SyncConfig

	// The resolver type name.
	TypeName *string

	noSmithyDocumentSerde
}

// Describes the configuration of a source API. A source API is a GraphQL API that
// is linked to a merged API. There can be multiple source APIs attached to each
// merged API. When linked to a merged API, the source API's schema, data sources,
// and resolvers will be combined with other linked source API data to form a new,
// singular API. Source APIs can originate from your account or from other accounts
// via Amazon Web Services Resource Access Manager. For more information about
// sharing resources from other accounts, see What is Amazon Web Services Resource
// Access Manager? (https://docs.aws.amazon.com/ram/latest/userguide/what-is.html)
// in the Amazon Web Services Resource Access Manager guide.
type SourceApiAssociation struct {

	// The Amazon Resource Name (ARN) of the source API association.
	AssociationArn *string

	// The ID generated by the AppSync service for the source API association.
	AssociationId *string

	// The description field.
	Description *string

	// The datetime value of the last successful merge of the source API association.
	// The result will be in UTC format and your local time zone.
	LastSuccessfulMergeDate *time.Time

	// The Amazon Resource Name (ARN) of the AppSync Merged API.
	MergedApiArn *string

	// The ID of the AppSync Merged API.
	MergedApiId *string

	// The Amazon Resource Name (ARN) of the AppSync source API.
	SourceApiArn *string

	// The SourceApiAssociationConfig object data.
	SourceApiAssociationConfig *SourceApiAssociationConfig

	// The state of the source API association.
	SourceApiAssociationStatus SourceApiAssociationStatus

	// The detailed message related to the current state of the source API association.
	SourceApiAssociationStatusDetail *string

	// The ID of the AppSync source API.
	SourceApiId *string

	noSmithyDocumentSerde
}

// Describes properties used to specify configurations related to a source API.
type SourceApiAssociationConfig struct {

	// The property that indicates which merging option is enabled in the source API
	// association. Valid merge types are MANUAL_MERGE (default) and AUTO_MERGE .
	// Manual merges are the default behavior and require the user to trigger any
	// changes from the source APIs to the merged API manually. Auto merges subscribe
	// the merged API to the changes performed on the source APIs so that any change in
	// the source APIs are also made to the merged API. Auto merges use
	// MergedApiExecutionRoleArn to perform merge operations.
	MergeType MergeType

	noSmithyDocumentSerde
}

// Describes the ARNs and IDs of associations, Merged APIs, and source APIs.
type SourceApiAssociationSummary struct {

	// The Amazon Resource Name (ARN) of the source API association.
	AssociationArn *string

	// The ID generated by the AppSync service for the source API association.
	AssociationId *string

	// The description field.
	Description *string

	// The Amazon Resource Name (ARN) of the AppSync Merged API.
	MergedApiArn *string

	// The ID of the AppSync Merged API.
	MergedApiId *string

	// The Amazon Resource Name (ARN) of the AppSync Source API.
	SourceApiArn *string

	// The ID of the AppSync source API.
	SourceApiId *string

	noSmithyDocumentSerde
}

// Describes a Sync configuration for a resolver. Specifies which Conflict
// Detection strategy and Resolution strategy to use when the resolver is invoked.
type SyncConfig struct {

	// The Conflict Detection strategy to use.
	//   - VERSION: Detect conflicts based on object versions for this resolver.
	//   - NONE: Do not detect conflicts when invoking this resolver.
	ConflictDetection ConflictDetectionType

	// The Conflict Resolution strategy to perform in the event of a conflict.
	//   - OPTIMISTIC_CONCURRENCY: Resolve conflicts by rejecting mutations when
	//   versions don't match the latest version at the server.
	//   - AUTOMERGE: Resolve conflicts with the Automerge conflict resolution
	//   strategy.
	//   - LAMBDA: Resolve conflicts with an Lambda function supplied in the
	//   LambdaConflictHandlerConfig .
	ConflictHandler ConflictHandlerType

	// The LambdaConflictHandlerConfig when configuring LAMBDA as the Conflict Handler.
	LambdaConflictHandlerConfig *LambdaConflictHandlerConfig

	noSmithyDocumentSerde
}

// Describes a type.
type Type struct {

	// The type Amazon Resource Name (ARN).
	Arn *string

	// The type definition.
	Definition *string

	// The type description.
	Description *string

	// The type format: SDL or JSON.
	Format TypeDefinitionFormat

	// The type name.
	Name *string

	noSmithyDocumentSerde
}

// Describes an Amazon Cognito user pool configuration.
type UserPoolConfig struct {

	// The Amazon Web Services Region in which the user pool was created.
	//
	// This member is required.
	AwsRegion *string

	// The action that you want your GraphQL API to take when a request that uses
	// Amazon Cognito user pool authentication doesn't match the Amazon Cognito user
	// pool configuration.
	//
	// This member is required.
	DefaultAction DefaultAction

	// The user pool ID.
	//
	// This member is required.
	UserPoolId *string

	// A regular expression for validating the incoming Amazon Cognito user pool app
	// client ID. If this value isn't set, no filtering is applied.
	AppIdClientRegex *string

	noSmithyDocumentSerde
}

type noSmithyDocumentSerde = smithydocument.NoSerde