/
api_op_DefineSuggester.go
150 lines (124 loc) · 4.59 KB
/
api_op_DefineSuggester.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
// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
package cloudsearch
import (
"context"
"github.com/aws/aws-sdk-go-v2/aws"
"github.com/aws/aws-sdk-go-v2/internal/awsutil"
)
// Container for the parameters to the DefineSuggester operation. Specifies
// the name of the domain you want to update and the suggester configuration.
type DefineSuggesterInput struct {
_ struct{} `type:"structure"`
// A string that represents the name of a domain. Domain names are unique across
// the domains owned by an account within an AWS region. Domain names start
// with a letter or number and can contain the following characters: a-z (lowercase),
// 0-9, and - (hyphen).
//
// DomainName is a required field
DomainName *string `min:"3" type:"string" required:"true"`
// Configuration information for a search suggester. Each suggester has a unique
// name and specifies the text field you want to use for suggestions. The following
// options can be configured for a suggester: FuzzyMatching, SortExpression.
//
// Suggester is a required field
Suggester *Suggester `type:"structure" required:"true"`
}
// String returns the string representation
func (s DefineSuggesterInput) String() string {
return awsutil.Prettify(s)
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *DefineSuggesterInput) Validate() error {
invalidParams := aws.ErrInvalidParams{Context: "DefineSuggesterInput"}
if s.DomainName == nil {
invalidParams.Add(aws.NewErrParamRequired("DomainName"))
}
if s.DomainName != nil && len(*s.DomainName) < 3 {
invalidParams.Add(aws.NewErrParamMinLen("DomainName", 3))
}
if s.Suggester == nil {
invalidParams.Add(aws.NewErrParamRequired("Suggester"))
}
if s.Suggester != nil {
if err := s.Suggester.Validate(); err != nil {
invalidParams.AddNested("Suggester", err.(aws.ErrInvalidParams))
}
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// The result of a DefineSuggester request. Contains the status of the newly-configured
// suggester.
type DefineSuggesterOutput struct {
_ struct{} `type:"structure"`
// The value of a Suggester and its current status.
//
// Suggester is a required field
Suggester *SuggesterStatus `type:"structure" required:"true"`
}
// String returns the string representation
func (s DefineSuggesterOutput) String() string {
return awsutil.Prettify(s)
}
const opDefineSuggester = "DefineSuggester"
// DefineSuggesterRequest returns a request value for making API operation for
// Amazon CloudSearch.
//
// Configures a suggester for a domain. A suggester enables you to display possible
// matches before users finish typing their queries. When you configure a suggester,
// you must specify the name of the text field you want to search for possible
// matches and a unique name for the suggester. For more information, see Getting
// Search Suggestions (http://docs.aws.amazon.com/cloudsearch/latest/developerguide/getting-suggestions.html)
// in the Amazon CloudSearch Developer Guide.
//
// // Example sending a request using DefineSuggesterRequest.
// req := client.DefineSuggesterRequest(params)
// resp, err := req.Send(context.TODO())
// if err == nil {
// fmt.Println(resp)
// }
func (c *Client) DefineSuggesterRequest(input *DefineSuggesterInput) DefineSuggesterRequest {
op := &aws.Operation{
Name: opDefineSuggester,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &DefineSuggesterInput{}
}
req := c.newRequest(op, input, &DefineSuggesterOutput{})
return DefineSuggesterRequest{Request: req, Input: input, Copy: c.DefineSuggesterRequest}
}
// DefineSuggesterRequest is the request type for the
// DefineSuggester API operation.
type DefineSuggesterRequest struct {
*aws.Request
Input *DefineSuggesterInput
Copy func(*DefineSuggesterInput) DefineSuggesterRequest
}
// Send marshals and sends the DefineSuggester API request.
func (r DefineSuggesterRequest) Send(ctx context.Context) (*DefineSuggesterResponse, error) {
r.Request.SetContext(ctx)
err := r.Request.Send()
if err != nil {
return nil, err
}
resp := &DefineSuggesterResponse{
DefineSuggesterOutput: r.Request.Data.(*DefineSuggesterOutput),
response: &aws.Response{Request: r.Request},
}
return resp, nil
}
// DefineSuggesterResponse is the response type for the
// DefineSuggester API operation.
type DefineSuggesterResponse struct {
*DefineSuggesterOutput
response *aws.Response
}
// SDKResponseMetdata returns the response metadata for the
// DefineSuggester request.
func (r *DefineSuggesterResponse) SDKResponseMetdata() *aws.Response {
return r.response
}