-
Notifications
You must be signed in to change notification settings - Fork 623
/
api_op_GetIntrospectionSchema.go
170 lines (138 loc) · 5.32 KB
/
api_op_GetIntrospectionSchema.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
// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
package appsync
import (
"context"
"github.com/aws/aws-sdk-go-v2/aws"
"github.com/aws/aws-sdk-go-v2/internal/awsutil"
"github.com/aws/aws-sdk-go-v2/private/protocol"
)
// Please also see https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/GetIntrospectionSchemaRequest
type GetIntrospectionSchemaInput struct {
_ struct{} `type:"structure"`
// The API ID.
//
// ApiId is a required field
ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
// The schema format: SDL or JSON.
//
// Format is a required field
Format OutputType `location:"querystring" locationName:"format" type:"string" required:"true" enum:"true"`
// A flag that specifies whether the schema introspection should contain directives.
IncludeDirectives *bool `location:"querystring" locationName:"includeDirectives" type:"boolean"`
}
// String returns the string representation
func (s GetIntrospectionSchemaInput) String() string {
return awsutil.Prettify(s)
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *GetIntrospectionSchemaInput) Validate() error {
invalidParams := aws.ErrInvalidParams{Context: "GetIntrospectionSchemaInput"}
if s.ApiId == nil {
invalidParams.Add(aws.NewErrParamRequired("ApiId"))
}
if len(s.Format) == 0 {
invalidParams.Add(aws.NewErrParamRequired("Format"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// MarshalFields encodes the AWS API shape using the passed in protocol encoder.
func (s GetIntrospectionSchemaInput) MarshalFields(e protocol.FieldEncoder) error {
e.SetValue(protocol.HeaderTarget, "Content-Type", protocol.StringValue("application/x-amz-json-1.1"), protocol.Metadata{})
if s.ApiId != nil {
v := *s.ApiId
metadata := protocol.Metadata{}
e.SetValue(protocol.PathTarget, "apiId", protocol.QuotedValue{ValueMarshaler: protocol.StringValue(v)}, metadata)
}
if len(s.Format) > 0 {
v := s.Format
metadata := protocol.Metadata{}
e.SetValue(protocol.QueryTarget, "format", protocol.QuotedValue{ValueMarshaler: v}, metadata)
}
if s.IncludeDirectives != nil {
v := *s.IncludeDirectives
metadata := protocol.Metadata{}
e.SetValue(protocol.QueryTarget, "includeDirectives", protocol.BoolValue(v), metadata)
}
return nil
}
// Please also see https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/GetIntrospectionSchemaResponse
type GetIntrospectionSchemaOutput struct {
_ struct{} `type:"structure" payload:"Schema"`
// The schema, in GraphQL Schema Definition Language (SDL) format.
//
// For more information, see the GraphQL SDL documentation (http://graphql.org/learn/schema/).
Schema []byte `locationName:"schema" type:"blob"`
}
// String returns the string representation
func (s GetIntrospectionSchemaOutput) String() string {
return awsutil.Prettify(s)
}
// MarshalFields encodes the AWS API shape using the passed in protocol encoder.
func (s GetIntrospectionSchemaOutput) MarshalFields(e protocol.FieldEncoder) error {
if s.Schema != nil {
v := s.Schema
metadata := protocol.Metadata{}
e.SetStream(protocol.PayloadTarget, "schema", protocol.BytesStream(v), metadata)
}
return nil
}
const opGetIntrospectionSchema = "GetIntrospectionSchema"
// GetIntrospectionSchemaRequest returns a request value for making API operation for
// AWS AppSync.
//
// Retrieves the introspection schema for a GraphQL API.
//
// // Example sending a request using GetIntrospectionSchemaRequest.
// req := client.GetIntrospectionSchemaRequest(params)
// resp, err := req.Send(context.TODO())
// if err == nil {
// fmt.Println(resp)
// }
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/GetIntrospectionSchema
func (c *Client) GetIntrospectionSchemaRequest(input *GetIntrospectionSchemaInput) GetIntrospectionSchemaRequest {
op := &aws.Operation{
Name: opGetIntrospectionSchema,
HTTPMethod: "GET",
HTTPPath: "/v1/apis/{apiId}/schema",
}
if input == nil {
input = &GetIntrospectionSchemaInput{}
}
req := c.newRequest(op, input, &GetIntrospectionSchemaOutput{})
return GetIntrospectionSchemaRequest{Request: req, Input: input, Copy: c.GetIntrospectionSchemaRequest}
}
// GetIntrospectionSchemaRequest is the request type for the
// GetIntrospectionSchema API operation.
type GetIntrospectionSchemaRequest struct {
*aws.Request
Input *GetIntrospectionSchemaInput
Copy func(*GetIntrospectionSchemaInput) GetIntrospectionSchemaRequest
}
// Send marshals and sends the GetIntrospectionSchema API request.
func (r GetIntrospectionSchemaRequest) Send(ctx context.Context) (*GetIntrospectionSchemaResponse, error) {
r.Request.SetContext(ctx)
err := r.Request.Send()
if err != nil {
return nil, err
}
resp := &GetIntrospectionSchemaResponse{
GetIntrospectionSchemaOutput: r.Request.Data.(*GetIntrospectionSchemaOutput),
response: &aws.Response{Request: r.Request},
}
return resp, nil
}
// GetIntrospectionSchemaResponse is the response type for the
// GetIntrospectionSchema API operation.
type GetIntrospectionSchemaResponse struct {
*GetIntrospectionSchemaOutput
response *aws.Response
}
// SDKResponseMetdata returns the response metadata for the
// GetIntrospectionSchema request.
func (r *GetIntrospectionSchemaResponse) SDKResponseMetdata() *aws.Response {
return r.response
}