/
api_op_CreateResolver.go
200 lines (172 loc) · 6.22 KB
/
api_op_CreateResolver.go
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
// Code generated by smithy-go-codegen DO NOT EDIT.
package appsync
import (
"context"
"fmt"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/service/appsync/types"
"github.com/aws/smithy-go/middleware"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
// Creates a Resolver object. A resolver converts incoming requests into a format
// that a data source can understand, and converts the data source's responses into
// GraphQL.
func (c *Client) CreateResolver(ctx context.Context, params *CreateResolverInput, optFns ...func(*Options)) (*CreateResolverOutput, error) {
if params == nil {
params = &CreateResolverInput{}
}
result, metadata, err := c.invokeOperation(ctx, "CreateResolver", params, optFns, c.addOperationCreateResolverMiddlewares)
if err != nil {
return nil, err
}
out := result.(*CreateResolverOutput)
out.ResultMetadata = metadata
return out, nil
}
type CreateResolverInput struct {
// The ID for the GraphQL API for which the resolver is being created.
//
// This member is required.
ApiId *string
// The name of the field to attach the resolver to.
//
// This member is required.
FieldName *string
// The name of the Type .
//
// This member is required.
TypeName *string
// The caching configuration for the resolver.
CachingConfig *types.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 name of the data source for which the resolver is being created.
DataSourceName *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 types.ResolverKind
// The maximum batching size for a resolver.
MaxBatchSize int32
// Enables or disables enhanced resolver metrics for specified resolvers. Note
// that metricsConfig won't be used unless the resolverLevelMetricsBehavior value
// is set to PER_RESOLVER_METRICS . If the resolverLevelMetricsBehavior is set to
// FULL_REQUEST_RESOLVER_METRICS instead, metricsConfig will be ignored. However,
// you can still set its value. metricsConfig can be ENABLED or DISABLED .
MetricsConfig types.ResolverLevelMetricsConfig
// The PipelineConfig .
PipelineConfig *types.PipelineConfig
// The mapping template to use for requests. A resolver uses a request mapping
// template to convert a GraphQL expression into a format that a data source can
// understand. Mapping templates are written in Apache Velocity Template Language
// (VTL). VTL request mapping templates are optional when using an Lambda data
// source. For all other data sources, VTL request and response mapping templates
// are required.
RequestMappingTemplate *string
// The mapping template to use for responses from the data source.
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 *types.AppSyncRuntime
// The SyncConfig for a resolver attached to a versioned data source.
SyncConfig *types.SyncConfig
noSmithyDocumentSerde
}
type CreateResolverOutput struct {
// The Resolver object.
Resolver *types.Resolver
// Metadata pertaining to the operation's result.
ResultMetadata middleware.Metadata
noSmithyDocumentSerde
}
func (c *Client) addOperationCreateResolverMiddlewares(stack *middleware.Stack, options Options) (err error) {
if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
return err
}
err = stack.Serialize.Add(&awsRestjson1_serializeOpCreateResolver{}, middleware.After)
if err != nil {
return err
}
err = stack.Deserialize.Add(&awsRestjson1_deserializeOpCreateResolver{}, middleware.After)
if err != nil {
return err
}
if err := addProtocolFinalizerMiddlewares(stack, options, "CreateResolver"); err != nil {
return fmt.Errorf("add protocol finalizers: %v", err)
}
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
if err = addSetLoggerMiddleware(stack, options); err != nil {
return err
}
if err = addClientRequestID(stack); err != nil {
return err
}
if err = addComputeContentLength(stack); err != nil {
return err
}
if err = addResolveEndpointMiddleware(stack, options); err != nil {
return err
}
if err = addComputePayloadSHA256(stack); err != nil {
return err
}
if err = addRetry(stack, options); err != nil {
return err
}
if err = addRawResponseToMetadata(stack); err != nil {
return err
}
if err = addRecordResponseTiming(stack); err != nil {
return err
}
if err = addClientUserAgent(stack, options); err != nil {
return err
}
if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil {
return err
}
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
if err = addOpCreateResolverValidationMiddleware(stack); err != nil {
return err
}
if err = stack.Initialize.Add(newServiceMetadataMiddleware_opCreateResolver(options.Region), middleware.Before); err != nil {
return err
}
if err = addRecursionDetection(stack); err != nil {
return err
}
if err = addRequestIDRetrieverMiddleware(stack); err != nil {
return err
}
if err = addResponseErrorMiddleware(stack); err != nil {
return err
}
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
return nil
}
func newServiceMetadataMiddleware_opCreateResolver(region string) *awsmiddleware.RegisterServiceMetadata {
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
OperationName: "CreateResolver",
}
}