1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package xray
4
5import (
6	"fmt"
7	"time"
8
9	"github.com/aws/aws-sdk-go/aws"
10	"github.com/aws/aws-sdk-go/aws/awsutil"
11	"github.com/aws/aws-sdk-go/aws/request"
12	"github.com/aws/aws-sdk-go/private/protocol"
13	"github.com/aws/aws-sdk-go/private/protocol/restjson"
14)
15
16const opBatchGetTraces = "BatchGetTraces"
17
18// BatchGetTracesRequest generates a "aws/request.Request" representing the
19// client's request for the BatchGetTraces operation. The "output" return
20// value will be populated with the request's response once the request completes
21// successfully.
22//
23// Use "Send" method on the returned Request to send the API call to the service.
24// the "output" return value is not valid until after Send returns without error.
25//
26// See BatchGetTraces for more information on using the BatchGetTraces
27// API call, and error handling.
28//
29// This method is useful when you want to inject custom logic or configuration
30// into the SDK's request lifecycle. Such as custom headers, or retry logic.
31//
32//
33//    // Example sending a request using the BatchGetTracesRequest method.
34//    req, resp := client.BatchGetTracesRequest(params)
35//
36//    err := req.Send()
37//    if err == nil { // resp is now filled
38//        fmt.Println(resp)
39//    }
40//
41// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/BatchGetTraces
42func (c *XRay) BatchGetTracesRequest(input *BatchGetTracesInput) (req *request.Request, output *BatchGetTracesOutput) {
43	op := &request.Operation{
44		Name:       opBatchGetTraces,
45		HTTPMethod: "POST",
46		HTTPPath:   "/Traces",
47		Paginator: &request.Paginator{
48			InputTokens:     []string{"NextToken"},
49			OutputTokens:    []string{"NextToken"},
50			LimitToken:      "",
51			TruncationToken: "",
52		},
53	}
54
55	if input == nil {
56		input = &BatchGetTracesInput{}
57	}
58
59	output = &BatchGetTracesOutput{}
60	req = c.newRequest(op, input, output)
61	return
62}
63
64// BatchGetTraces API operation for AWS X-Ray.
65//
66// Retrieves a list of traces specified by ID. Each trace is a collection of
67// segment documents that originates from a single request. Use GetTraceSummaries
68// to get a list of trace IDs.
69//
70// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
71// with awserr.Error's Code and Message methods to get detailed information about
72// the error.
73//
74// See the AWS API reference guide for AWS X-Ray's
75// API operation BatchGetTraces for usage and error information.
76//
77// Returned Error Types:
78//   * InvalidRequestException
79//   The request is missing required parameters or has invalid parameters.
80//
81//   * ThrottledException
82//   The request exceeds the maximum number of requests per second.
83//
84// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/BatchGetTraces
85func (c *XRay) BatchGetTraces(input *BatchGetTracesInput) (*BatchGetTracesOutput, error) {
86	req, out := c.BatchGetTracesRequest(input)
87	return out, req.Send()
88}
89
90// BatchGetTracesWithContext is the same as BatchGetTraces with the addition of
91// the ability to pass a context and additional request options.
92//
93// See BatchGetTraces for details on how to use this API operation.
94//
95// The context must be non-nil and will be used for request cancellation. If
96// the context is nil a panic will occur. In the future the SDK may create
97// sub-contexts for http.Requests. See https://golang.org/pkg/context/
98// for more information on using Contexts.
99func (c *XRay) BatchGetTracesWithContext(ctx aws.Context, input *BatchGetTracesInput, opts ...request.Option) (*BatchGetTracesOutput, error) {
100	req, out := c.BatchGetTracesRequest(input)
101	req.SetContext(ctx)
102	req.ApplyOptions(opts...)
103	return out, req.Send()
104}
105
106// BatchGetTracesPages iterates over the pages of a BatchGetTraces operation,
107// calling the "fn" function with the response data for each page. To stop
108// iterating, return false from the fn function.
109//
110// See BatchGetTraces method for more information on how to use this operation.
111//
112// Note: This operation can generate multiple requests to a service.
113//
114//    // Example iterating over at most 3 pages of a BatchGetTraces operation.
115//    pageNum := 0
116//    err := client.BatchGetTracesPages(params,
117//        func(page *xray.BatchGetTracesOutput, lastPage bool) bool {
118//            pageNum++
119//            fmt.Println(page)
120//            return pageNum <= 3
121//        })
122//
123func (c *XRay) BatchGetTracesPages(input *BatchGetTracesInput, fn func(*BatchGetTracesOutput, bool) bool) error {
124	return c.BatchGetTracesPagesWithContext(aws.BackgroundContext(), input, fn)
125}
126
127// BatchGetTracesPagesWithContext same as BatchGetTracesPages except
128// it takes a Context and allows setting request options on the pages.
129//
130// The context must be non-nil and will be used for request cancellation. If
131// the context is nil a panic will occur. In the future the SDK may create
132// sub-contexts for http.Requests. See https://golang.org/pkg/context/
133// for more information on using Contexts.
134func (c *XRay) BatchGetTracesPagesWithContext(ctx aws.Context, input *BatchGetTracesInput, fn func(*BatchGetTracesOutput, bool) bool, opts ...request.Option) error {
135	p := request.Pagination{
136		NewRequest: func() (*request.Request, error) {
137			var inCpy *BatchGetTracesInput
138			if input != nil {
139				tmp := *input
140				inCpy = &tmp
141			}
142			req, _ := c.BatchGetTracesRequest(inCpy)
143			req.SetContext(ctx)
144			req.ApplyOptions(opts...)
145			return req, nil
146		},
147	}
148
149	for p.Next() {
150		if !fn(p.Page().(*BatchGetTracesOutput), !p.HasNextPage()) {
151			break
152		}
153	}
154
155	return p.Err()
156}
157
158const opCreateGroup = "CreateGroup"
159
160// CreateGroupRequest generates a "aws/request.Request" representing the
161// client's request for the CreateGroup operation. The "output" return
162// value will be populated with the request's response once the request completes
163// successfully.
164//
165// Use "Send" method on the returned Request to send the API call to the service.
166// the "output" return value is not valid until after Send returns without error.
167//
168// See CreateGroup for more information on using the CreateGroup
169// API call, and error handling.
170//
171// This method is useful when you want to inject custom logic or configuration
172// into the SDK's request lifecycle. Such as custom headers, or retry logic.
173//
174//
175//    // Example sending a request using the CreateGroupRequest method.
176//    req, resp := client.CreateGroupRequest(params)
177//
178//    err := req.Send()
179//    if err == nil { // resp is now filled
180//        fmt.Println(resp)
181//    }
182//
183// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/CreateGroup
184func (c *XRay) CreateGroupRequest(input *CreateGroupInput) (req *request.Request, output *CreateGroupOutput) {
185	op := &request.Operation{
186		Name:       opCreateGroup,
187		HTTPMethod: "POST",
188		HTTPPath:   "/CreateGroup",
189	}
190
191	if input == nil {
192		input = &CreateGroupInput{}
193	}
194
195	output = &CreateGroupOutput{}
196	req = c.newRequest(op, input, output)
197	return
198}
199
200// CreateGroup API operation for AWS X-Ray.
201//
202// Creates a group resource with a name and a filter expression.
203//
204// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
205// with awserr.Error's Code and Message methods to get detailed information about
206// the error.
207//
208// See the AWS API reference guide for AWS X-Ray's
209// API operation CreateGroup for usage and error information.
210//
211// Returned Error Types:
212//   * InvalidRequestException
213//   The request is missing required parameters or has invalid parameters.
214//
215//   * ThrottledException
216//   The request exceeds the maximum number of requests per second.
217//
218// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/CreateGroup
219func (c *XRay) CreateGroup(input *CreateGroupInput) (*CreateGroupOutput, error) {
220	req, out := c.CreateGroupRequest(input)
221	return out, req.Send()
222}
223
224// CreateGroupWithContext is the same as CreateGroup with the addition of
225// the ability to pass a context and additional request options.
226//
227// See CreateGroup for details on how to use this API operation.
228//
229// The context must be non-nil and will be used for request cancellation. If
230// the context is nil a panic will occur. In the future the SDK may create
231// sub-contexts for http.Requests. See https://golang.org/pkg/context/
232// for more information on using Contexts.
233func (c *XRay) CreateGroupWithContext(ctx aws.Context, input *CreateGroupInput, opts ...request.Option) (*CreateGroupOutput, error) {
234	req, out := c.CreateGroupRequest(input)
235	req.SetContext(ctx)
236	req.ApplyOptions(opts...)
237	return out, req.Send()
238}
239
240const opCreateSamplingRule = "CreateSamplingRule"
241
242// CreateSamplingRuleRequest generates a "aws/request.Request" representing the
243// client's request for the CreateSamplingRule operation. The "output" return
244// value will be populated with the request's response once the request completes
245// successfully.
246//
247// Use "Send" method on the returned Request to send the API call to the service.
248// the "output" return value is not valid until after Send returns without error.
249//
250// See CreateSamplingRule for more information on using the CreateSamplingRule
251// API call, and error handling.
252//
253// This method is useful when you want to inject custom logic or configuration
254// into the SDK's request lifecycle. Such as custom headers, or retry logic.
255//
256//
257//    // Example sending a request using the CreateSamplingRuleRequest method.
258//    req, resp := client.CreateSamplingRuleRequest(params)
259//
260//    err := req.Send()
261//    if err == nil { // resp is now filled
262//        fmt.Println(resp)
263//    }
264//
265// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/CreateSamplingRule
266func (c *XRay) CreateSamplingRuleRequest(input *CreateSamplingRuleInput) (req *request.Request, output *CreateSamplingRuleOutput) {
267	op := &request.Operation{
268		Name:       opCreateSamplingRule,
269		HTTPMethod: "POST",
270		HTTPPath:   "/CreateSamplingRule",
271	}
272
273	if input == nil {
274		input = &CreateSamplingRuleInput{}
275	}
276
277	output = &CreateSamplingRuleOutput{}
278	req = c.newRequest(op, input, output)
279	return
280}
281
282// CreateSamplingRule API operation for AWS X-Ray.
283//
284// Creates a rule to control sampling behavior for instrumented applications.
285// Services retrieve rules with GetSamplingRules, and evaluate each rule in
286// ascending order of priority for each request. If a rule matches, the service
287// records a trace, borrowing it from the reservoir size. After 10 seconds,
288// the service reports back to X-Ray with GetSamplingTargets to get updated
289// versions of each in-use rule. The updated rule contains a trace quota that
290// the service can use instead of borrowing from the reservoir.
291//
292// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
293// with awserr.Error's Code and Message methods to get detailed information about
294// the error.
295//
296// See the AWS API reference guide for AWS X-Ray's
297// API operation CreateSamplingRule for usage and error information.
298//
299// Returned Error Types:
300//   * InvalidRequestException
301//   The request is missing required parameters or has invalid parameters.
302//
303//   * ThrottledException
304//   The request exceeds the maximum number of requests per second.
305//
306//   * RuleLimitExceededException
307//   You have reached the maximum number of sampling rules.
308//
309// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/CreateSamplingRule
310func (c *XRay) CreateSamplingRule(input *CreateSamplingRuleInput) (*CreateSamplingRuleOutput, error) {
311	req, out := c.CreateSamplingRuleRequest(input)
312	return out, req.Send()
313}
314
315// CreateSamplingRuleWithContext is the same as CreateSamplingRule with the addition of
316// the ability to pass a context and additional request options.
317//
318// See CreateSamplingRule for details on how to use this API operation.
319//
320// The context must be non-nil and will be used for request cancellation. If
321// the context is nil a panic will occur. In the future the SDK may create
322// sub-contexts for http.Requests. See https://golang.org/pkg/context/
323// for more information on using Contexts.
324func (c *XRay) CreateSamplingRuleWithContext(ctx aws.Context, input *CreateSamplingRuleInput, opts ...request.Option) (*CreateSamplingRuleOutput, error) {
325	req, out := c.CreateSamplingRuleRequest(input)
326	req.SetContext(ctx)
327	req.ApplyOptions(opts...)
328	return out, req.Send()
329}
330
331const opDeleteGroup = "DeleteGroup"
332
333// DeleteGroupRequest generates a "aws/request.Request" representing the
334// client's request for the DeleteGroup operation. The "output" return
335// value will be populated with the request's response once the request completes
336// successfully.
337//
338// Use "Send" method on the returned Request to send the API call to the service.
339// the "output" return value is not valid until after Send returns without error.
340//
341// See DeleteGroup for more information on using the DeleteGroup
342// API call, and error handling.
343//
344// This method is useful when you want to inject custom logic or configuration
345// into the SDK's request lifecycle. Such as custom headers, or retry logic.
346//
347//
348//    // Example sending a request using the DeleteGroupRequest method.
349//    req, resp := client.DeleteGroupRequest(params)
350//
351//    err := req.Send()
352//    if err == nil { // resp is now filled
353//        fmt.Println(resp)
354//    }
355//
356// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/DeleteGroup
357func (c *XRay) DeleteGroupRequest(input *DeleteGroupInput) (req *request.Request, output *DeleteGroupOutput) {
358	op := &request.Operation{
359		Name:       opDeleteGroup,
360		HTTPMethod: "POST",
361		HTTPPath:   "/DeleteGroup",
362	}
363
364	if input == nil {
365		input = &DeleteGroupInput{}
366	}
367
368	output = &DeleteGroupOutput{}
369	req = c.newRequest(op, input, output)
370	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
371	return
372}
373
374// DeleteGroup API operation for AWS X-Ray.
375//
376// Deletes a group resource.
377//
378// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
379// with awserr.Error's Code and Message methods to get detailed information about
380// the error.
381//
382// See the AWS API reference guide for AWS X-Ray's
383// API operation DeleteGroup for usage and error information.
384//
385// Returned Error Types:
386//   * InvalidRequestException
387//   The request is missing required parameters or has invalid parameters.
388//
389//   * ThrottledException
390//   The request exceeds the maximum number of requests per second.
391//
392// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/DeleteGroup
393func (c *XRay) DeleteGroup(input *DeleteGroupInput) (*DeleteGroupOutput, error) {
394	req, out := c.DeleteGroupRequest(input)
395	return out, req.Send()
396}
397
398// DeleteGroupWithContext is the same as DeleteGroup with the addition of
399// the ability to pass a context and additional request options.
400//
401// See DeleteGroup for details on how to use this API operation.
402//
403// The context must be non-nil and will be used for request cancellation. If
404// the context is nil a panic will occur. In the future the SDK may create
405// sub-contexts for http.Requests. See https://golang.org/pkg/context/
406// for more information on using Contexts.
407func (c *XRay) DeleteGroupWithContext(ctx aws.Context, input *DeleteGroupInput, opts ...request.Option) (*DeleteGroupOutput, error) {
408	req, out := c.DeleteGroupRequest(input)
409	req.SetContext(ctx)
410	req.ApplyOptions(opts...)
411	return out, req.Send()
412}
413
414const opDeleteSamplingRule = "DeleteSamplingRule"
415
416// DeleteSamplingRuleRequest generates a "aws/request.Request" representing the
417// client's request for the DeleteSamplingRule operation. The "output" return
418// value will be populated with the request's response once the request completes
419// successfully.
420//
421// Use "Send" method on the returned Request to send the API call to the service.
422// the "output" return value is not valid until after Send returns without error.
423//
424// See DeleteSamplingRule for more information on using the DeleteSamplingRule
425// API call, and error handling.
426//
427// This method is useful when you want to inject custom logic or configuration
428// into the SDK's request lifecycle. Such as custom headers, or retry logic.
429//
430//
431//    // Example sending a request using the DeleteSamplingRuleRequest method.
432//    req, resp := client.DeleteSamplingRuleRequest(params)
433//
434//    err := req.Send()
435//    if err == nil { // resp is now filled
436//        fmt.Println(resp)
437//    }
438//
439// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/DeleteSamplingRule
440func (c *XRay) DeleteSamplingRuleRequest(input *DeleteSamplingRuleInput) (req *request.Request, output *DeleteSamplingRuleOutput) {
441	op := &request.Operation{
442		Name:       opDeleteSamplingRule,
443		HTTPMethod: "POST",
444		HTTPPath:   "/DeleteSamplingRule",
445	}
446
447	if input == nil {
448		input = &DeleteSamplingRuleInput{}
449	}
450
451	output = &DeleteSamplingRuleOutput{}
452	req = c.newRequest(op, input, output)
453	return
454}
455
456// DeleteSamplingRule API operation for AWS X-Ray.
457//
458// Deletes a sampling rule.
459//
460// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
461// with awserr.Error's Code and Message methods to get detailed information about
462// the error.
463//
464// See the AWS API reference guide for AWS X-Ray's
465// API operation DeleteSamplingRule for usage and error information.
466//
467// Returned Error Types:
468//   * InvalidRequestException
469//   The request is missing required parameters or has invalid parameters.
470//
471//   * ThrottledException
472//   The request exceeds the maximum number of requests per second.
473//
474// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/DeleteSamplingRule
475func (c *XRay) DeleteSamplingRule(input *DeleteSamplingRuleInput) (*DeleteSamplingRuleOutput, error) {
476	req, out := c.DeleteSamplingRuleRequest(input)
477	return out, req.Send()
478}
479
480// DeleteSamplingRuleWithContext is the same as DeleteSamplingRule with the addition of
481// the ability to pass a context and additional request options.
482//
483// See DeleteSamplingRule for details on how to use this API operation.
484//
485// The context must be non-nil and will be used for request cancellation. If
486// the context is nil a panic will occur. In the future the SDK may create
487// sub-contexts for http.Requests. See https://golang.org/pkg/context/
488// for more information on using Contexts.
489func (c *XRay) DeleteSamplingRuleWithContext(ctx aws.Context, input *DeleteSamplingRuleInput, opts ...request.Option) (*DeleteSamplingRuleOutput, error) {
490	req, out := c.DeleteSamplingRuleRequest(input)
491	req.SetContext(ctx)
492	req.ApplyOptions(opts...)
493	return out, req.Send()
494}
495
496const opGetEncryptionConfig = "GetEncryptionConfig"
497
498// GetEncryptionConfigRequest generates a "aws/request.Request" representing the
499// client's request for the GetEncryptionConfig operation. The "output" return
500// value will be populated with the request's response once the request completes
501// successfully.
502//
503// Use "Send" method on the returned Request to send the API call to the service.
504// the "output" return value is not valid until after Send returns without error.
505//
506// See GetEncryptionConfig for more information on using the GetEncryptionConfig
507// API call, and error handling.
508//
509// This method is useful when you want to inject custom logic or configuration
510// into the SDK's request lifecycle. Such as custom headers, or retry logic.
511//
512//
513//    // Example sending a request using the GetEncryptionConfigRequest method.
514//    req, resp := client.GetEncryptionConfigRequest(params)
515//
516//    err := req.Send()
517//    if err == nil { // resp is now filled
518//        fmt.Println(resp)
519//    }
520//
521// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetEncryptionConfig
522func (c *XRay) GetEncryptionConfigRequest(input *GetEncryptionConfigInput) (req *request.Request, output *GetEncryptionConfigOutput) {
523	op := &request.Operation{
524		Name:       opGetEncryptionConfig,
525		HTTPMethod: "POST",
526		HTTPPath:   "/EncryptionConfig",
527	}
528
529	if input == nil {
530		input = &GetEncryptionConfigInput{}
531	}
532
533	output = &GetEncryptionConfigOutput{}
534	req = c.newRequest(op, input, output)
535	return
536}
537
538// GetEncryptionConfig API operation for AWS X-Ray.
539//
540// Retrieves the current encryption configuration for X-Ray data.
541//
542// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
543// with awserr.Error's Code and Message methods to get detailed information about
544// the error.
545//
546// See the AWS API reference guide for AWS X-Ray's
547// API operation GetEncryptionConfig for usage and error information.
548//
549// Returned Error Types:
550//   * InvalidRequestException
551//   The request is missing required parameters or has invalid parameters.
552//
553//   * ThrottledException
554//   The request exceeds the maximum number of requests per second.
555//
556// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetEncryptionConfig
557func (c *XRay) GetEncryptionConfig(input *GetEncryptionConfigInput) (*GetEncryptionConfigOutput, error) {
558	req, out := c.GetEncryptionConfigRequest(input)
559	return out, req.Send()
560}
561
562// GetEncryptionConfigWithContext is the same as GetEncryptionConfig with the addition of
563// the ability to pass a context and additional request options.
564//
565// See GetEncryptionConfig for details on how to use this API operation.
566//
567// The context must be non-nil and will be used for request cancellation. If
568// the context is nil a panic will occur. In the future the SDK may create
569// sub-contexts for http.Requests. See https://golang.org/pkg/context/
570// for more information on using Contexts.
571func (c *XRay) GetEncryptionConfigWithContext(ctx aws.Context, input *GetEncryptionConfigInput, opts ...request.Option) (*GetEncryptionConfigOutput, error) {
572	req, out := c.GetEncryptionConfigRequest(input)
573	req.SetContext(ctx)
574	req.ApplyOptions(opts...)
575	return out, req.Send()
576}
577
578const opGetGroup = "GetGroup"
579
580// GetGroupRequest generates a "aws/request.Request" representing the
581// client's request for the GetGroup operation. The "output" return
582// value will be populated with the request's response once the request completes
583// successfully.
584//
585// Use "Send" method on the returned Request to send the API call to the service.
586// the "output" return value is not valid until after Send returns without error.
587//
588// See GetGroup for more information on using the GetGroup
589// API call, and error handling.
590//
591// This method is useful when you want to inject custom logic or configuration
592// into the SDK's request lifecycle. Such as custom headers, or retry logic.
593//
594//
595//    // Example sending a request using the GetGroupRequest method.
596//    req, resp := client.GetGroupRequest(params)
597//
598//    err := req.Send()
599//    if err == nil { // resp is now filled
600//        fmt.Println(resp)
601//    }
602//
603// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetGroup
604func (c *XRay) GetGroupRequest(input *GetGroupInput) (req *request.Request, output *GetGroupOutput) {
605	op := &request.Operation{
606		Name:       opGetGroup,
607		HTTPMethod: "POST",
608		HTTPPath:   "/GetGroup",
609	}
610
611	if input == nil {
612		input = &GetGroupInput{}
613	}
614
615	output = &GetGroupOutput{}
616	req = c.newRequest(op, input, output)
617	return
618}
619
620// GetGroup API operation for AWS X-Ray.
621//
622// Retrieves group resource details.
623//
624// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
625// with awserr.Error's Code and Message methods to get detailed information about
626// the error.
627//
628// See the AWS API reference guide for AWS X-Ray's
629// API operation GetGroup for usage and error information.
630//
631// Returned Error Types:
632//   * InvalidRequestException
633//   The request is missing required parameters or has invalid parameters.
634//
635//   * ThrottledException
636//   The request exceeds the maximum number of requests per second.
637//
638// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetGroup
639func (c *XRay) GetGroup(input *GetGroupInput) (*GetGroupOutput, error) {
640	req, out := c.GetGroupRequest(input)
641	return out, req.Send()
642}
643
644// GetGroupWithContext is the same as GetGroup with the addition of
645// the ability to pass a context and additional request options.
646//
647// See GetGroup for details on how to use this API operation.
648//
649// The context must be non-nil and will be used for request cancellation. If
650// the context is nil a panic will occur. In the future the SDK may create
651// sub-contexts for http.Requests. See https://golang.org/pkg/context/
652// for more information on using Contexts.
653func (c *XRay) GetGroupWithContext(ctx aws.Context, input *GetGroupInput, opts ...request.Option) (*GetGroupOutput, error) {
654	req, out := c.GetGroupRequest(input)
655	req.SetContext(ctx)
656	req.ApplyOptions(opts...)
657	return out, req.Send()
658}
659
660const opGetGroups = "GetGroups"
661
662// GetGroupsRequest generates a "aws/request.Request" representing the
663// client's request for the GetGroups operation. The "output" return
664// value will be populated with the request's response once the request completes
665// successfully.
666//
667// Use "Send" method on the returned Request to send the API call to the service.
668// the "output" return value is not valid until after Send returns without error.
669//
670// See GetGroups for more information on using the GetGroups
671// API call, and error handling.
672//
673// This method is useful when you want to inject custom logic or configuration
674// into the SDK's request lifecycle. Such as custom headers, or retry logic.
675//
676//
677//    // Example sending a request using the GetGroupsRequest method.
678//    req, resp := client.GetGroupsRequest(params)
679//
680//    err := req.Send()
681//    if err == nil { // resp is now filled
682//        fmt.Println(resp)
683//    }
684//
685// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetGroups
686func (c *XRay) GetGroupsRequest(input *GetGroupsInput) (req *request.Request, output *GetGroupsOutput) {
687	op := &request.Operation{
688		Name:       opGetGroups,
689		HTTPMethod: "POST",
690		HTTPPath:   "/Groups",
691		Paginator: &request.Paginator{
692			InputTokens:     []string{"NextToken"},
693			OutputTokens:    []string{"NextToken"},
694			LimitToken:      "",
695			TruncationToken: "",
696		},
697	}
698
699	if input == nil {
700		input = &GetGroupsInput{}
701	}
702
703	output = &GetGroupsOutput{}
704	req = c.newRequest(op, input, output)
705	return
706}
707
708// GetGroups API operation for AWS X-Ray.
709//
710// Retrieves all active group details.
711//
712// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
713// with awserr.Error's Code and Message methods to get detailed information about
714// the error.
715//
716// See the AWS API reference guide for AWS X-Ray's
717// API operation GetGroups for usage and error information.
718//
719// Returned Error Types:
720//   * InvalidRequestException
721//   The request is missing required parameters or has invalid parameters.
722//
723//   * ThrottledException
724//   The request exceeds the maximum number of requests per second.
725//
726// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetGroups
727func (c *XRay) GetGroups(input *GetGroupsInput) (*GetGroupsOutput, error) {
728	req, out := c.GetGroupsRequest(input)
729	return out, req.Send()
730}
731
732// GetGroupsWithContext is the same as GetGroups with the addition of
733// the ability to pass a context and additional request options.
734//
735// See GetGroups for details on how to use this API operation.
736//
737// The context must be non-nil and will be used for request cancellation. If
738// the context is nil a panic will occur. In the future the SDK may create
739// sub-contexts for http.Requests. See https://golang.org/pkg/context/
740// for more information on using Contexts.
741func (c *XRay) GetGroupsWithContext(ctx aws.Context, input *GetGroupsInput, opts ...request.Option) (*GetGroupsOutput, error) {
742	req, out := c.GetGroupsRequest(input)
743	req.SetContext(ctx)
744	req.ApplyOptions(opts...)
745	return out, req.Send()
746}
747
748// GetGroupsPages iterates over the pages of a GetGroups operation,
749// calling the "fn" function with the response data for each page. To stop
750// iterating, return false from the fn function.
751//
752// See GetGroups method for more information on how to use this operation.
753//
754// Note: This operation can generate multiple requests to a service.
755//
756//    // Example iterating over at most 3 pages of a GetGroups operation.
757//    pageNum := 0
758//    err := client.GetGroupsPages(params,
759//        func(page *xray.GetGroupsOutput, lastPage bool) bool {
760//            pageNum++
761//            fmt.Println(page)
762//            return pageNum <= 3
763//        })
764//
765func (c *XRay) GetGroupsPages(input *GetGroupsInput, fn func(*GetGroupsOutput, bool) bool) error {
766	return c.GetGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
767}
768
769// GetGroupsPagesWithContext same as GetGroupsPages except
770// it takes a Context and allows setting request options on the pages.
771//
772// The context must be non-nil and will be used for request cancellation. If
773// the context is nil a panic will occur. In the future the SDK may create
774// sub-contexts for http.Requests. See https://golang.org/pkg/context/
775// for more information on using Contexts.
776func (c *XRay) GetGroupsPagesWithContext(ctx aws.Context, input *GetGroupsInput, fn func(*GetGroupsOutput, bool) bool, opts ...request.Option) error {
777	p := request.Pagination{
778		NewRequest: func() (*request.Request, error) {
779			var inCpy *GetGroupsInput
780			if input != nil {
781				tmp := *input
782				inCpy = &tmp
783			}
784			req, _ := c.GetGroupsRequest(inCpy)
785			req.SetContext(ctx)
786			req.ApplyOptions(opts...)
787			return req, nil
788		},
789	}
790
791	for p.Next() {
792		if !fn(p.Page().(*GetGroupsOutput), !p.HasNextPage()) {
793			break
794		}
795	}
796
797	return p.Err()
798}
799
800const opGetInsight = "GetInsight"
801
802// GetInsightRequest generates a "aws/request.Request" representing the
803// client's request for the GetInsight operation. The "output" return
804// value will be populated with the request's response once the request completes
805// successfully.
806//
807// Use "Send" method on the returned Request to send the API call to the service.
808// the "output" return value is not valid until after Send returns without error.
809//
810// See GetInsight for more information on using the GetInsight
811// API call, and error handling.
812//
813// This method is useful when you want to inject custom logic or configuration
814// into the SDK's request lifecycle. Such as custom headers, or retry logic.
815//
816//
817//    // Example sending a request using the GetInsightRequest method.
818//    req, resp := client.GetInsightRequest(params)
819//
820//    err := req.Send()
821//    if err == nil { // resp is now filled
822//        fmt.Println(resp)
823//    }
824//
825// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetInsight
826func (c *XRay) GetInsightRequest(input *GetInsightInput) (req *request.Request, output *GetInsightOutput) {
827	op := &request.Operation{
828		Name:       opGetInsight,
829		HTTPMethod: "POST",
830		HTTPPath:   "/Insight",
831	}
832
833	if input == nil {
834		input = &GetInsightInput{}
835	}
836
837	output = &GetInsightOutput{}
838	req = c.newRequest(op, input, output)
839	return
840}
841
842// GetInsight API operation for AWS X-Ray.
843//
844// Retrieves the summary information of an insight. This includes impact to
845// clients and root cause services, the top anomalous services, the category,
846// the state of the insight, and the start and end time of the insight.
847//
848// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
849// with awserr.Error's Code and Message methods to get detailed information about
850// the error.
851//
852// See the AWS API reference guide for AWS X-Ray's
853// API operation GetInsight for usage and error information.
854//
855// Returned Error Types:
856//   * InvalidRequestException
857//   The request is missing required parameters or has invalid parameters.
858//
859//   * ThrottledException
860//   The request exceeds the maximum number of requests per second.
861//
862// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetInsight
863func (c *XRay) GetInsight(input *GetInsightInput) (*GetInsightOutput, error) {
864	req, out := c.GetInsightRequest(input)
865	return out, req.Send()
866}
867
868// GetInsightWithContext is the same as GetInsight with the addition of
869// the ability to pass a context and additional request options.
870//
871// See GetInsight for details on how to use this API operation.
872//
873// The context must be non-nil and will be used for request cancellation. If
874// the context is nil a panic will occur. In the future the SDK may create
875// sub-contexts for http.Requests. See https://golang.org/pkg/context/
876// for more information on using Contexts.
877func (c *XRay) GetInsightWithContext(ctx aws.Context, input *GetInsightInput, opts ...request.Option) (*GetInsightOutput, error) {
878	req, out := c.GetInsightRequest(input)
879	req.SetContext(ctx)
880	req.ApplyOptions(opts...)
881	return out, req.Send()
882}
883
884const opGetInsightEvents = "GetInsightEvents"
885
886// GetInsightEventsRequest generates a "aws/request.Request" representing the
887// client's request for the GetInsightEvents operation. The "output" return
888// value will be populated with the request's response once the request completes
889// successfully.
890//
891// Use "Send" method on the returned Request to send the API call to the service.
892// the "output" return value is not valid until after Send returns without error.
893//
894// See GetInsightEvents for more information on using the GetInsightEvents
895// API call, and error handling.
896//
897// This method is useful when you want to inject custom logic or configuration
898// into the SDK's request lifecycle. Such as custom headers, or retry logic.
899//
900//
901//    // Example sending a request using the GetInsightEventsRequest method.
902//    req, resp := client.GetInsightEventsRequest(params)
903//
904//    err := req.Send()
905//    if err == nil { // resp is now filled
906//        fmt.Println(resp)
907//    }
908//
909// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetInsightEvents
910func (c *XRay) GetInsightEventsRequest(input *GetInsightEventsInput) (req *request.Request, output *GetInsightEventsOutput) {
911	op := &request.Operation{
912		Name:       opGetInsightEvents,
913		HTTPMethod: "POST",
914		HTTPPath:   "/InsightEvents",
915		Paginator: &request.Paginator{
916			InputTokens:     []string{"NextToken"},
917			OutputTokens:    []string{"NextToken"},
918			LimitToken:      "MaxResults",
919			TruncationToken: "",
920		},
921	}
922
923	if input == nil {
924		input = &GetInsightEventsInput{}
925	}
926
927	output = &GetInsightEventsOutput{}
928	req = c.newRequest(op, input, output)
929	return
930}
931
932// GetInsightEvents API operation for AWS X-Ray.
933//
934// X-Ray reevaluates insights periodically until they're resolved, and records
935// each intermediate state as an event. You can review an insight's events in
936// the Impact Timeline on the Inspect page in the X-Ray console.
937//
938// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
939// with awserr.Error's Code and Message methods to get detailed information about
940// the error.
941//
942// See the AWS API reference guide for AWS X-Ray's
943// API operation GetInsightEvents for usage and error information.
944//
945// Returned Error Types:
946//   * InvalidRequestException
947//   The request is missing required parameters or has invalid parameters.
948//
949//   * ThrottledException
950//   The request exceeds the maximum number of requests per second.
951//
952// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetInsightEvents
953func (c *XRay) GetInsightEvents(input *GetInsightEventsInput) (*GetInsightEventsOutput, error) {
954	req, out := c.GetInsightEventsRequest(input)
955	return out, req.Send()
956}
957
958// GetInsightEventsWithContext is the same as GetInsightEvents with the addition of
959// the ability to pass a context and additional request options.
960//
961// See GetInsightEvents for details on how to use this API operation.
962//
963// The context must be non-nil and will be used for request cancellation. If
964// the context is nil a panic will occur. In the future the SDK may create
965// sub-contexts for http.Requests. See https://golang.org/pkg/context/
966// for more information on using Contexts.
967func (c *XRay) GetInsightEventsWithContext(ctx aws.Context, input *GetInsightEventsInput, opts ...request.Option) (*GetInsightEventsOutput, error) {
968	req, out := c.GetInsightEventsRequest(input)
969	req.SetContext(ctx)
970	req.ApplyOptions(opts...)
971	return out, req.Send()
972}
973
974// GetInsightEventsPages iterates over the pages of a GetInsightEvents operation,
975// calling the "fn" function with the response data for each page. To stop
976// iterating, return false from the fn function.
977//
978// See GetInsightEvents method for more information on how to use this operation.
979//
980// Note: This operation can generate multiple requests to a service.
981//
982//    // Example iterating over at most 3 pages of a GetInsightEvents operation.
983//    pageNum := 0
984//    err := client.GetInsightEventsPages(params,
985//        func(page *xray.GetInsightEventsOutput, lastPage bool) bool {
986//            pageNum++
987//            fmt.Println(page)
988//            return pageNum <= 3
989//        })
990//
991func (c *XRay) GetInsightEventsPages(input *GetInsightEventsInput, fn func(*GetInsightEventsOutput, bool) bool) error {
992	return c.GetInsightEventsPagesWithContext(aws.BackgroundContext(), input, fn)
993}
994
995// GetInsightEventsPagesWithContext same as GetInsightEventsPages except
996// it takes a Context and allows setting request options on the pages.
997//
998// The context must be non-nil and will be used for request cancellation. If
999// the context is nil a panic will occur. In the future the SDK may create
1000// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1001// for more information on using Contexts.
1002func (c *XRay) GetInsightEventsPagesWithContext(ctx aws.Context, input *GetInsightEventsInput, fn func(*GetInsightEventsOutput, bool) bool, opts ...request.Option) error {
1003	p := request.Pagination{
1004		NewRequest: func() (*request.Request, error) {
1005			var inCpy *GetInsightEventsInput
1006			if input != nil {
1007				tmp := *input
1008				inCpy = &tmp
1009			}
1010			req, _ := c.GetInsightEventsRequest(inCpy)
1011			req.SetContext(ctx)
1012			req.ApplyOptions(opts...)
1013			return req, nil
1014		},
1015	}
1016
1017	for p.Next() {
1018		if !fn(p.Page().(*GetInsightEventsOutput), !p.HasNextPage()) {
1019			break
1020		}
1021	}
1022
1023	return p.Err()
1024}
1025
1026const opGetInsightImpactGraph = "GetInsightImpactGraph"
1027
1028// GetInsightImpactGraphRequest generates a "aws/request.Request" representing the
1029// client's request for the GetInsightImpactGraph operation. The "output" return
1030// value will be populated with the request's response once the request completes
1031// successfully.
1032//
1033// Use "Send" method on the returned Request to send the API call to the service.
1034// the "output" return value is not valid until after Send returns without error.
1035//
1036// See GetInsightImpactGraph for more information on using the GetInsightImpactGraph
1037// API call, and error handling.
1038//
1039// This method is useful when you want to inject custom logic or configuration
1040// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1041//
1042//
1043//    // Example sending a request using the GetInsightImpactGraphRequest method.
1044//    req, resp := client.GetInsightImpactGraphRequest(params)
1045//
1046//    err := req.Send()
1047//    if err == nil { // resp is now filled
1048//        fmt.Println(resp)
1049//    }
1050//
1051// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetInsightImpactGraph
1052func (c *XRay) GetInsightImpactGraphRequest(input *GetInsightImpactGraphInput) (req *request.Request, output *GetInsightImpactGraphOutput) {
1053	op := &request.Operation{
1054		Name:       opGetInsightImpactGraph,
1055		HTTPMethod: "POST",
1056		HTTPPath:   "/InsightImpactGraph",
1057	}
1058
1059	if input == nil {
1060		input = &GetInsightImpactGraphInput{}
1061	}
1062
1063	output = &GetInsightImpactGraphOutput{}
1064	req = c.newRequest(op, input, output)
1065	return
1066}
1067
1068// GetInsightImpactGraph API operation for AWS X-Ray.
1069//
1070// Retrieves a service graph structure filtered by the specified insight. The
1071// service graph is limited to only structural information. For a complete service
1072// graph, use this API with the GetServiceGraph API.
1073//
1074// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1075// with awserr.Error's Code and Message methods to get detailed information about
1076// the error.
1077//
1078// See the AWS API reference guide for AWS X-Ray's
1079// API operation GetInsightImpactGraph for usage and error information.
1080//
1081// Returned Error Types:
1082//   * InvalidRequestException
1083//   The request is missing required parameters or has invalid parameters.
1084//
1085//   * ThrottledException
1086//   The request exceeds the maximum number of requests per second.
1087//
1088// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetInsightImpactGraph
1089func (c *XRay) GetInsightImpactGraph(input *GetInsightImpactGraphInput) (*GetInsightImpactGraphOutput, error) {
1090	req, out := c.GetInsightImpactGraphRequest(input)
1091	return out, req.Send()
1092}
1093
1094// GetInsightImpactGraphWithContext is the same as GetInsightImpactGraph with the addition of
1095// the ability to pass a context and additional request options.
1096//
1097// See GetInsightImpactGraph for details on how to use this API operation.
1098//
1099// The context must be non-nil and will be used for request cancellation. If
1100// the context is nil a panic will occur. In the future the SDK may create
1101// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1102// for more information on using Contexts.
1103func (c *XRay) GetInsightImpactGraphWithContext(ctx aws.Context, input *GetInsightImpactGraphInput, opts ...request.Option) (*GetInsightImpactGraphOutput, error) {
1104	req, out := c.GetInsightImpactGraphRequest(input)
1105	req.SetContext(ctx)
1106	req.ApplyOptions(opts...)
1107	return out, req.Send()
1108}
1109
1110const opGetInsightSummaries = "GetInsightSummaries"
1111
1112// GetInsightSummariesRequest generates a "aws/request.Request" representing the
1113// client's request for the GetInsightSummaries operation. The "output" return
1114// value will be populated with the request's response once the request completes
1115// successfully.
1116//
1117// Use "Send" method on the returned Request to send the API call to the service.
1118// the "output" return value is not valid until after Send returns without error.
1119//
1120// See GetInsightSummaries for more information on using the GetInsightSummaries
1121// API call, and error handling.
1122//
1123// This method is useful when you want to inject custom logic or configuration
1124// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1125//
1126//
1127//    // Example sending a request using the GetInsightSummariesRequest method.
1128//    req, resp := client.GetInsightSummariesRequest(params)
1129//
1130//    err := req.Send()
1131//    if err == nil { // resp is now filled
1132//        fmt.Println(resp)
1133//    }
1134//
1135// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetInsightSummaries
1136func (c *XRay) GetInsightSummariesRequest(input *GetInsightSummariesInput) (req *request.Request, output *GetInsightSummariesOutput) {
1137	op := &request.Operation{
1138		Name:       opGetInsightSummaries,
1139		HTTPMethod: "POST",
1140		HTTPPath:   "/InsightSummaries",
1141		Paginator: &request.Paginator{
1142			InputTokens:     []string{"NextToken"},
1143			OutputTokens:    []string{"NextToken"},
1144			LimitToken:      "MaxResults",
1145			TruncationToken: "",
1146		},
1147	}
1148
1149	if input == nil {
1150		input = &GetInsightSummariesInput{}
1151	}
1152
1153	output = &GetInsightSummariesOutput{}
1154	req = c.newRequest(op, input, output)
1155	return
1156}
1157
1158// GetInsightSummaries API operation for AWS X-Ray.
1159//
1160// Retrieves the summaries of all insights in the specified group matching the
1161// provided filter values.
1162//
1163// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1164// with awserr.Error's Code and Message methods to get detailed information about
1165// the error.
1166//
1167// See the AWS API reference guide for AWS X-Ray's
1168// API operation GetInsightSummaries for usage and error information.
1169//
1170// Returned Error Types:
1171//   * InvalidRequestException
1172//   The request is missing required parameters or has invalid parameters.
1173//
1174//   * ThrottledException
1175//   The request exceeds the maximum number of requests per second.
1176//
1177// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetInsightSummaries
1178func (c *XRay) GetInsightSummaries(input *GetInsightSummariesInput) (*GetInsightSummariesOutput, error) {
1179	req, out := c.GetInsightSummariesRequest(input)
1180	return out, req.Send()
1181}
1182
1183// GetInsightSummariesWithContext is the same as GetInsightSummaries with the addition of
1184// the ability to pass a context and additional request options.
1185//
1186// See GetInsightSummaries for details on how to use this API operation.
1187//
1188// The context must be non-nil and will be used for request cancellation. If
1189// the context is nil a panic will occur. In the future the SDK may create
1190// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1191// for more information on using Contexts.
1192func (c *XRay) GetInsightSummariesWithContext(ctx aws.Context, input *GetInsightSummariesInput, opts ...request.Option) (*GetInsightSummariesOutput, error) {
1193	req, out := c.GetInsightSummariesRequest(input)
1194	req.SetContext(ctx)
1195	req.ApplyOptions(opts...)
1196	return out, req.Send()
1197}
1198
1199// GetInsightSummariesPages iterates over the pages of a GetInsightSummaries operation,
1200// calling the "fn" function with the response data for each page. To stop
1201// iterating, return false from the fn function.
1202//
1203// See GetInsightSummaries method for more information on how to use this operation.
1204//
1205// Note: This operation can generate multiple requests to a service.
1206//
1207//    // Example iterating over at most 3 pages of a GetInsightSummaries operation.
1208//    pageNum := 0
1209//    err := client.GetInsightSummariesPages(params,
1210//        func(page *xray.GetInsightSummariesOutput, lastPage bool) bool {
1211//            pageNum++
1212//            fmt.Println(page)
1213//            return pageNum <= 3
1214//        })
1215//
1216func (c *XRay) GetInsightSummariesPages(input *GetInsightSummariesInput, fn func(*GetInsightSummariesOutput, bool) bool) error {
1217	return c.GetInsightSummariesPagesWithContext(aws.BackgroundContext(), input, fn)
1218}
1219
1220// GetInsightSummariesPagesWithContext same as GetInsightSummariesPages except
1221// it takes a Context and allows setting request options on the pages.
1222//
1223// The context must be non-nil and will be used for request cancellation. If
1224// the context is nil a panic will occur. In the future the SDK may create
1225// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1226// for more information on using Contexts.
1227func (c *XRay) GetInsightSummariesPagesWithContext(ctx aws.Context, input *GetInsightSummariesInput, fn func(*GetInsightSummariesOutput, bool) bool, opts ...request.Option) error {
1228	p := request.Pagination{
1229		NewRequest: func() (*request.Request, error) {
1230			var inCpy *GetInsightSummariesInput
1231			if input != nil {
1232				tmp := *input
1233				inCpy = &tmp
1234			}
1235			req, _ := c.GetInsightSummariesRequest(inCpy)
1236			req.SetContext(ctx)
1237			req.ApplyOptions(opts...)
1238			return req, nil
1239		},
1240	}
1241
1242	for p.Next() {
1243		if !fn(p.Page().(*GetInsightSummariesOutput), !p.HasNextPage()) {
1244			break
1245		}
1246	}
1247
1248	return p.Err()
1249}
1250
1251const opGetSamplingRules = "GetSamplingRules"
1252
1253// GetSamplingRulesRequest generates a "aws/request.Request" representing the
1254// client's request for the GetSamplingRules operation. The "output" return
1255// value will be populated with the request's response once the request completes
1256// successfully.
1257//
1258// Use "Send" method on the returned Request to send the API call to the service.
1259// the "output" return value is not valid until after Send returns without error.
1260//
1261// See GetSamplingRules for more information on using the GetSamplingRules
1262// API call, and error handling.
1263//
1264// This method is useful when you want to inject custom logic or configuration
1265// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1266//
1267//
1268//    // Example sending a request using the GetSamplingRulesRequest method.
1269//    req, resp := client.GetSamplingRulesRequest(params)
1270//
1271//    err := req.Send()
1272//    if err == nil { // resp is now filled
1273//        fmt.Println(resp)
1274//    }
1275//
1276// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetSamplingRules
1277func (c *XRay) GetSamplingRulesRequest(input *GetSamplingRulesInput) (req *request.Request, output *GetSamplingRulesOutput) {
1278	op := &request.Operation{
1279		Name:       opGetSamplingRules,
1280		HTTPMethod: "POST",
1281		HTTPPath:   "/GetSamplingRules",
1282		Paginator: &request.Paginator{
1283			InputTokens:     []string{"NextToken"},
1284			OutputTokens:    []string{"NextToken"},
1285			LimitToken:      "",
1286			TruncationToken: "",
1287		},
1288	}
1289
1290	if input == nil {
1291		input = &GetSamplingRulesInput{}
1292	}
1293
1294	output = &GetSamplingRulesOutput{}
1295	req = c.newRequest(op, input, output)
1296	return
1297}
1298
1299// GetSamplingRules API operation for AWS X-Ray.
1300//
1301// Retrieves all sampling rules.
1302//
1303// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1304// with awserr.Error's Code and Message methods to get detailed information about
1305// the error.
1306//
1307// See the AWS API reference guide for AWS X-Ray's
1308// API operation GetSamplingRules for usage and error information.
1309//
1310// Returned Error Types:
1311//   * InvalidRequestException
1312//   The request is missing required parameters or has invalid parameters.
1313//
1314//   * ThrottledException
1315//   The request exceeds the maximum number of requests per second.
1316//
1317// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetSamplingRules
1318func (c *XRay) GetSamplingRules(input *GetSamplingRulesInput) (*GetSamplingRulesOutput, error) {
1319	req, out := c.GetSamplingRulesRequest(input)
1320	return out, req.Send()
1321}
1322
1323// GetSamplingRulesWithContext is the same as GetSamplingRules with the addition of
1324// the ability to pass a context and additional request options.
1325//
1326// See GetSamplingRules for details on how to use this API operation.
1327//
1328// The context must be non-nil and will be used for request cancellation. If
1329// the context is nil a panic will occur. In the future the SDK may create
1330// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1331// for more information on using Contexts.
1332func (c *XRay) GetSamplingRulesWithContext(ctx aws.Context, input *GetSamplingRulesInput, opts ...request.Option) (*GetSamplingRulesOutput, error) {
1333	req, out := c.GetSamplingRulesRequest(input)
1334	req.SetContext(ctx)
1335	req.ApplyOptions(opts...)
1336	return out, req.Send()
1337}
1338
1339// GetSamplingRulesPages iterates over the pages of a GetSamplingRules operation,
1340// calling the "fn" function with the response data for each page. To stop
1341// iterating, return false from the fn function.
1342//
1343// See GetSamplingRules method for more information on how to use this operation.
1344//
1345// Note: This operation can generate multiple requests to a service.
1346//
1347//    // Example iterating over at most 3 pages of a GetSamplingRules operation.
1348//    pageNum := 0
1349//    err := client.GetSamplingRulesPages(params,
1350//        func(page *xray.GetSamplingRulesOutput, lastPage bool) bool {
1351//            pageNum++
1352//            fmt.Println(page)
1353//            return pageNum <= 3
1354//        })
1355//
1356func (c *XRay) GetSamplingRulesPages(input *GetSamplingRulesInput, fn func(*GetSamplingRulesOutput, bool) bool) error {
1357	return c.GetSamplingRulesPagesWithContext(aws.BackgroundContext(), input, fn)
1358}
1359
1360// GetSamplingRulesPagesWithContext same as GetSamplingRulesPages except
1361// it takes a Context and allows setting request options on the pages.
1362//
1363// The context must be non-nil and will be used for request cancellation. If
1364// the context is nil a panic will occur. In the future the SDK may create
1365// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1366// for more information on using Contexts.
1367func (c *XRay) GetSamplingRulesPagesWithContext(ctx aws.Context, input *GetSamplingRulesInput, fn func(*GetSamplingRulesOutput, bool) bool, opts ...request.Option) error {
1368	p := request.Pagination{
1369		NewRequest: func() (*request.Request, error) {
1370			var inCpy *GetSamplingRulesInput
1371			if input != nil {
1372				tmp := *input
1373				inCpy = &tmp
1374			}
1375			req, _ := c.GetSamplingRulesRequest(inCpy)
1376			req.SetContext(ctx)
1377			req.ApplyOptions(opts...)
1378			return req, nil
1379		},
1380	}
1381
1382	for p.Next() {
1383		if !fn(p.Page().(*GetSamplingRulesOutput), !p.HasNextPage()) {
1384			break
1385		}
1386	}
1387
1388	return p.Err()
1389}
1390
1391const opGetSamplingStatisticSummaries = "GetSamplingStatisticSummaries"
1392
1393// GetSamplingStatisticSummariesRequest generates a "aws/request.Request" representing the
1394// client's request for the GetSamplingStatisticSummaries operation. The "output" return
1395// value will be populated with the request's response once the request completes
1396// successfully.
1397//
1398// Use "Send" method on the returned Request to send the API call to the service.
1399// the "output" return value is not valid until after Send returns without error.
1400//
1401// See GetSamplingStatisticSummaries for more information on using the GetSamplingStatisticSummaries
1402// API call, and error handling.
1403//
1404// This method is useful when you want to inject custom logic or configuration
1405// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1406//
1407//
1408//    // Example sending a request using the GetSamplingStatisticSummariesRequest method.
1409//    req, resp := client.GetSamplingStatisticSummariesRequest(params)
1410//
1411//    err := req.Send()
1412//    if err == nil { // resp is now filled
1413//        fmt.Println(resp)
1414//    }
1415//
1416// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetSamplingStatisticSummaries
1417func (c *XRay) GetSamplingStatisticSummariesRequest(input *GetSamplingStatisticSummariesInput) (req *request.Request, output *GetSamplingStatisticSummariesOutput) {
1418	op := &request.Operation{
1419		Name:       opGetSamplingStatisticSummaries,
1420		HTTPMethod: "POST",
1421		HTTPPath:   "/SamplingStatisticSummaries",
1422		Paginator: &request.Paginator{
1423			InputTokens:     []string{"NextToken"},
1424			OutputTokens:    []string{"NextToken"},
1425			LimitToken:      "",
1426			TruncationToken: "",
1427		},
1428	}
1429
1430	if input == nil {
1431		input = &GetSamplingStatisticSummariesInput{}
1432	}
1433
1434	output = &GetSamplingStatisticSummariesOutput{}
1435	req = c.newRequest(op, input, output)
1436	return
1437}
1438
1439// GetSamplingStatisticSummaries API operation for AWS X-Ray.
1440//
1441// Retrieves information about recent sampling results for all sampling rules.
1442//
1443// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1444// with awserr.Error's Code and Message methods to get detailed information about
1445// the error.
1446//
1447// See the AWS API reference guide for AWS X-Ray's
1448// API operation GetSamplingStatisticSummaries for usage and error information.
1449//
1450// Returned Error Types:
1451//   * InvalidRequestException
1452//   The request is missing required parameters or has invalid parameters.
1453//
1454//   * ThrottledException
1455//   The request exceeds the maximum number of requests per second.
1456//
1457// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetSamplingStatisticSummaries
1458func (c *XRay) GetSamplingStatisticSummaries(input *GetSamplingStatisticSummariesInput) (*GetSamplingStatisticSummariesOutput, error) {
1459	req, out := c.GetSamplingStatisticSummariesRequest(input)
1460	return out, req.Send()
1461}
1462
1463// GetSamplingStatisticSummariesWithContext is the same as GetSamplingStatisticSummaries with the addition of
1464// the ability to pass a context and additional request options.
1465//
1466// See GetSamplingStatisticSummaries for details on how to use this API operation.
1467//
1468// The context must be non-nil and will be used for request cancellation. If
1469// the context is nil a panic will occur. In the future the SDK may create
1470// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1471// for more information on using Contexts.
1472func (c *XRay) GetSamplingStatisticSummariesWithContext(ctx aws.Context, input *GetSamplingStatisticSummariesInput, opts ...request.Option) (*GetSamplingStatisticSummariesOutput, error) {
1473	req, out := c.GetSamplingStatisticSummariesRequest(input)
1474	req.SetContext(ctx)
1475	req.ApplyOptions(opts...)
1476	return out, req.Send()
1477}
1478
1479// GetSamplingStatisticSummariesPages iterates over the pages of a GetSamplingStatisticSummaries operation,
1480// calling the "fn" function with the response data for each page. To stop
1481// iterating, return false from the fn function.
1482//
1483// See GetSamplingStatisticSummaries method for more information on how to use this operation.
1484//
1485// Note: This operation can generate multiple requests to a service.
1486//
1487//    // Example iterating over at most 3 pages of a GetSamplingStatisticSummaries operation.
1488//    pageNum := 0
1489//    err := client.GetSamplingStatisticSummariesPages(params,
1490//        func(page *xray.GetSamplingStatisticSummariesOutput, lastPage bool) bool {
1491//            pageNum++
1492//            fmt.Println(page)
1493//            return pageNum <= 3
1494//        })
1495//
1496func (c *XRay) GetSamplingStatisticSummariesPages(input *GetSamplingStatisticSummariesInput, fn func(*GetSamplingStatisticSummariesOutput, bool) bool) error {
1497	return c.GetSamplingStatisticSummariesPagesWithContext(aws.BackgroundContext(), input, fn)
1498}
1499
1500// GetSamplingStatisticSummariesPagesWithContext same as GetSamplingStatisticSummariesPages except
1501// it takes a Context and allows setting request options on the pages.
1502//
1503// The context must be non-nil and will be used for request cancellation. If
1504// the context is nil a panic will occur. In the future the SDK may create
1505// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1506// for more information on using Contexts.
1507func (c *XRay) GetSamplingStatisticSummariesPagesWithContext(ctx aws.Context, input *GetSamplingStatisticSummariesInput, fn func(*GetSamplingStatisticSummariesOutput, bool) bool, opts ...request.Option) error {
1508	p := request.Pagination{
1509		NewRequest: func() (*request.Request, error) {
1510			var inCpy *GetSamplingStatisticSummariesInput
1511			if input != nil {
1512				tmp := *input
1513				inCpy = &tmp
1514			}
1515			req, _ := c.GetSamplingStatisticSummariesRequest(inCpy)
1516			req.SetContext(ctx)
1517			req.ApplyOptions(opts...)
1518			return req, nil
1519		},
1520	}
1521
1522	for p.Next() {
1523		if !fn(p.Page().(*GetSamplingStatisticSummariesOutput), !p.HasNextPage()) {
1524			break
1525		}
1526	}
1527
1528	return p.Err()
1529}
1530
1531const opGetSamplingTargets = "GetSamplingTargets"
1532
1533// GetSamplingTargetsRequest generates a "aws/request.Request" representing the
1534// client's request for the GetSamplingTargets operation. The "output" return
1535// value will be populated with the request's response once the request completes
1536// successfully.
1537//
1538// Use "Send" method on the returned Request to send the API call to the service.
1539// the "output" return value is not valid until after Send returns without error.
1540//
1541// See GetSamplingTargets for more information on using the GetSamplingTargets
1542// API call, and error handling.
1543//
1544// This method is useful when you want to inject custom logic or configuration
1545// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1546//
1547//
1548//    // Example sending a request using the GetSamplingTargetsRequest method.
1549//    req, resp := client.GetSamplingTargetsRequest(params)
1550//
1551//    err := req.Send()
1552//    if err == nil { // resp is now filled
1553//        fmt.Println(resp)
1554//    }
1555//
1556// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetSamplingTargets
1557func (c *XRay) GetSamplingTargetsRequest(input *GetSamplingTargetsInput) (req *request.Request, output *GetSamplingTargetsOutput) {
1558	op := &request.Operation{
1559		Name:       opGetSamplingTargets,
1560		HTTPMethod: "POST",
1561		HTTPPath:   "/SamplingTargets",
1562	}
1563
1564	if input == nil {
1565		input = &GetSamplingTargetsInput{}
1566	}
1567
1568	output = &GetSamplingTargetsOutput{}
1569	req = c.newRequest(op, input, output)
1570	return
1571}
1572
1573// GetSamplingTargets API operation for AWS X-Ray.
1574//
1575// Requests a sampling quota for rules that the service is using to sample requests.
1576//
1577// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1578// with awserr.Error's Code and Message methods to get detailed information about
1579// the error.
1580//
1581// See the AWS API reference guide for AWS X-Ray's
1582// API operation GetSamplingTargets for usage and error information.
1583//
1584// Returned Error Types:
1585//   * InvalidRequestException
1586//   The request is missing required parameters or has invalid parameters.
1587//
1588//   * ThrottledException
1589//   The request exceeds the maximum number of requests per second.
1590//
1591// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetSamplingTargets
1592func (c *XRay) GetSamplingTargets(input *GetSamplingTargetsInput) (*GetSamplingTargetsOutput, error) {
1593	req, out := c.GetSamplingTargetsRequest(input)
1594	return out, req.Send()
1595}
1596
1597// GetSamplingTargetsWithContext is the same as GetSamplingTargets with the addition of
1598// the ability to pass a context and additional request options.
1599//
1600// See GetSamplingTargets for details on how to use this API operation.
1601//
1602// The context must be non-nil and will be used for request cancellation. If
1603// the context is nil a panic will occur. In the future the SDK may create
1604// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1605// for more information on using Contexts.
1606func (c *XRay) GetSamplingTargetsWithContext(ctx aws.Context, input *GetSamplingTargetsInput, opts ...request.Option) (*GetSamplingTargetsOutput, error) {
1607	req, out := c.GetSamplingTargetsRequest(input)
1608	req.SetContext(ctx)
1609	req.ApplyOptions(opts...)
1610	return out, req.Send()
1611}
1612
1613const opGetServiceGraph = "GetServiceGraph"
1614
1615// GetServiceGraphRequest generates a "aws/request.Request" representing the
1616// client's request for the GetServiceGraph operation. The "output" return
1617// value will be populated with the request's response once the request completes
1618// successfully.
1619//
1620// Use "Send" method on the returned Request to send the API call to the service.
1621// the "output" return value is not valid until after Send returns without error.
1622//
1623// See GetServiceGraph for more information on using the GetServiceGraph
1624// API call, and error handling.
1625//
1626// This method is useful when you want to inject custom logic or configuration
1627// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1628//
1629//
1630//    // Example sending a request using the GetServiceGraphRequest method.
1631//    req, resp := client.GetServiceGraphRequest(params)
1632//
1633//    err := req.Send()
1634//    if err == nil { // resp is now filled
1635//        fmt.Println(resp)
1636//    }
1637//
1638// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetServiceGraph
1639func (c *XRay) GetServiceGraphRequest(input *GetServiceGraphInput) (req *request.Request, output *GetServiceGraphOutput) {
1640	op := &request.Operation{
1641		Name:       opGetServiceGraph,
1642		HTTPMethod: "POST",
1643		HTTPPath:   "/ServiceGraph",
1644		Paginator: &request.Paginator{
1645			InputTokens:     []string{"NextToken"},
1646			OutputTokens:    []string{"NextToken"},
1647			LimitToken:      "",
1648			TruncationToken: "",
1649		},
1650	}
1651
1652	if input == nil {
1653		input = &GetServiceGraphInput{}
1654	}
1655
1656	output = &GetServiceGraphOutput{}
1657	req = c.newRequest(op, input, output)
1658	return
1659}
1660
1661// GetServiceGraph API operation for AWS X-Ray.
1662//
1663// Retrieves a document that describes services that process incoming requests,
1664// and downstream services that they call as a result. Root services process
1665// incoming requests and make calls to downstream services. Root services are
1666// applications that use the AWS X-Ray SDK (https://docs.aws.amazon.com/xray/index.html).
1667// Downstream services can be other applications, AWS resources, HTTP web APIs,
1668// or SQL databases.
1669//
1670// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1671// with awserr.Error's Code and Message methods to get detailed information about
1672// the error.
1673//
1674// See the AWS API reference guide for AWS X-Ray's
1675// API operation GetServiceGraph for usage and error information.
1676//
1677// Returned Error Types:
1678//   * InvalidRequestException
1679//   The request is missing required parameters or has invalid parameters.
1680//
1681//   * ThrottledException
1682//   The request exceeds the maximum number of requests per second.
1683//
1684// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetServiceGraph
1685func (c *XRay) GetServiceGraph(input *GetServiceGraphInput) (*GetServiceGraphOutput, error) {
1686	req, out := c.GetServiceGraphRequest(input)
1687	return out, req.Send()
1688}
1689
1690// GetServiceGraphWithContext is the same as GetServiceGraph with the addition of
1691// the ability to pass a context and additional request options.
1692//
1693// See GetServiceGraph for details on how to use this API operation.
1694//
1695// The context must be non-nil and will be used for request cancellation. If
1696// the context is nil a panic will occur. In the future the SDK may create
1697// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1698// for more information on using Contexts.
1699func (c *XRay) GetServiceGraphWithContext(ctx aws.Context, input *GetServiceGraphInput, opts ...request.Option) (*GetServiceGraphOutput, error) {
1700	req, out := c.GetServiceGraphRequest(input)
1701	req.SetContext(ctx)
1702	req.ApplyOptions(opts...)
1703	return out, req.Send()
1704}
1705
1706// GetServiceGraphPages iterates over the pages of a GetServiceGraph operation,
1707// calling the "fn" function with the response data for each page. To stop
1708// iterating, return false from the fn function.
1709//
1710// See GetServiceGraph method for more information on how to use this operation.
1711//
1712// Note: This operation can generate multiple requests to a service.
1713//
1714//    // Example iterating over at most 3 pages of a GetServiceGraph operation.
1715//    pageNum := 0
1716//    err := client.GetServiceGraphPages(params,
1717//        func(page *xray.GetServiceGraphOutput, lastPage bool) bool {
1718//            pageNum++
1719//            fmt.Println(page)
1720//            return pageNum <= 3
1721//        })
1722//
1723func (c *XRay) GetServiceGraphPages(input *GetServiceGraphInput, fn func(*GetServiceGraphOutput, bool) bool) error {
1724	return c.GetServiceGraphPagesWithContext(aws.BackgroundContext(), input, fn)
1725}
1726
1727// GetServiceGraphPagesWithContext same as GetServiceGraphPages except
1728// it takes a Context and allows setting request options on the pages.
1729//
1730// The context must be non-nil and will be used for request cancellation. If
1731// the context is nil a panic will occur. In the future the SDK may create
1732// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1733// for more information on using Contexts.
1734func (c *XRay) GetServiceGraphPagesWithContext(ctx aws.Context, input *GetServiceGraphInput, fn func(*GetServiceGraphOutput, bool) bool, opts ...request.Option) error {
1735	p := request.Pagination{
1736		NewRequest: func() (*request.Request, error) {
1737			var inCpy *GetServiceGraphInput
1738			if input != nil {
1739				tmp := *input
1740				inCpy = &tmp
1741			}
1742			req, _ := c.GetServiceGraphRequest(inCpy)
1743			req.SetContext(ctx)
1744			req.ApplyOptions(opts...)
1745			return req, nil
1746		},
1747	}
1748
1749	for p.Next() {
1750		if !fn(p.Page().(*GetServiceGraphOutput), !p.HasNextPage()) {
1751			break
1752		}
1753	}
1754
1755	return p.Err()
1756}
1757
1758const opGetTimeSeriesServiceStatistics = "GetTimeSeriesServiceStatistics"
1759
1760// GetTimeSeriesServiceStatisticsRequest generates a "aws/request.Request" representing the
1761// client's request for the GetTimeSeriesServiceStatistics operation. The "output" return
1762// value will be populated with the request's response once the request completes
1763// successfully.
1764//
1765// Use "Send" method on the returned Request to send the API call to the service.
1766// the "output" return value is not valid until after Send returns without error.
1767//
1768// See GetTimeSeriesServiceStatistics for more information on using the GetTimeSeriesServiceStatistics
1769// API call, and error handling.
1770//
1771// This method is useful when you want to inject custom logic or configuration
1772// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1773//
1774//
1775//    // Example sending a request using the GetTimeSeriesServiceStatisticsRequest method.
1776//    req, resp := client.GetTimeSeriesServiceStatisticsRequest(params)
1777//
1778//    err := req.Send()
1779//    if err == nil { // resp is now filled
1780//        fmt.Println(resp)
1781//    }
1782//
1783// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetTimeSeriesServiceStatistics
1784func (c *XRay) GetTimeSeriesServiceStatisticsRequest(input *GetTimeSeriesServiceStatisticsInput) (req *request.Request, output *GetTimeSeriesServiceStatisticsOutput) {
1785	op := &request.Operation{
1786		Name:       opGetTimeSeriesServiceStatistics,
1787		HTTPMethod: "POST",
1788		HTTPPath:   "/TimeSeriesServiceStatistics",
1789		Paginator: &request.Paginator{
1790			InputTokens:     []string{"NextToken"},
1791			OutputTokens:    []string{"NextToken"},
1792			LimitToken:      "",
1793			TruncationToken: "",
1794		},
1795	}
1796
1797	if input == nil {
1798		input = &GetTimeSeriesServiceStatisticsInput{}
1799	}
1800
1801	output = &GetTimeSeriesServiceStatisticsOutput{}
1802	req = c.newRequest(op, input, output)
1803	return
1804}
1805
1806// GetTimeSeriesServiceStatistics API operation for AWS X-Ray.
1807//
1808// Get an aggregation of service statistics defined by a specific time range.
1809//
1810// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1811// with awserr.Error's Code and Message methods to get detailed information about
1812// the error.
1813//
1814// See the AWS API reference guide for AWS X-Ray's
1815// API operation GetTimeSeriesServiceStatistics for usage and error information.
1816//
1817// Returned Error Types:
1818//   * InvalidRequestException
1819//   The request is missing required parameters or has invalid parameters.
1820//
1821//   * ThrottledException
1822//   The request exceeds the maximum number of requests per second.
1823//
1824// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetTimeSeriesServiceStatistics
1825func (c *XRay) GetTimeSeriesServiceStatistics(input *GetTimeSeriesServiceStatisticsInput) (*GetTimeSeriesServiceStatisticsOutput, error) {
1826	req, out := c.GetTimeSeriesServiceStatisticsRequest(input)
1827	return out, req.Send()
1828}
1829
1830// GetTimeSeriesServiceStatisticsWithContext is the same as GetTimeSeriesServiceStatistics with the addition of
1831// the ability to pass a context and additional request options.
1832//
1833// See GetTimeSeriesServiceStatistics for details on how to use this API operation.
1834//
1835// The context must be non-nil and will be used for request cancellation. If
1836// the context is nil a panic will occur. In the future the SDK may create
1837// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1838// for more information on using Contexts.
1839func (c *XRay) GetTimeSeriesServiceStatisticsWithContext(ctx aws.Context, input *GetTimeSeriesServiceStatisticsInput, opts ...request.Option) (*GetTimeSeriesServiceStatisticsOutput, error) {
1840	req, out := c.GetTimeSeriesServiceStatisticsRequest(input)
1841	req.SetContext(ctx)
1842	req.ApplyOptions(opts...)
1843	return out, req.Send()
1844}
1845
1846// GetTimeSeriesServiceStatisticsPages iterates over the pages of a GetTimeSeriesServiceStatistics operation,
1847// calling the "fn" function with the response data for each page. To stop
1848// iterating, return false from the fn function.
1849//
1850// See GetTimeSeriesServiceStatistics method for more information on how to use this operation.
1851//
1852// Note: This operation can generate multiple requests to a service.
1853//
1854//    // Example iterating over at most 3 pages of a GetTimeSeriesServiceStatistics operation.
1855//    pageNum := 0
1856//    err := client.GetTimeSeriesServiceStatisticsPages(params,
1857//        func(page *xray.GetTimeSeriesServiceStatisticsOutput, lastPage bool) bool {
1858//            pageNum++
1859//            fmt.Println(page)
1860//            return pageNum <= 3
1861//        })
1862//
1863func (c *XRay) GetTimeSeriesServiceStatisticsPages(input *GetTimeSeriesServiceStatisticsInput, fn func(*GetTimeSeriesServiceStatisticsOutput, bool) bool) error {
1864	return c.GetTimeSeriesServiceStatisticsPagesWithContext(aws.BackgroundContext(), input, fn)
1865}
1866
1867// GetTimeSeriesServiceStatisticsPagesWithContext same as GetTimeSeriesServiceStatisticsPages except
1868// it takes a Context and allows setting request options on the pages.
1869//
1870// The context must be non-nil and will be used for request cancellation. If
1871// the context is nil a panic will occur. In the future the SDK may create
1872// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1873// for more information on using Contexts.
1874func (c *XRay) GetTimeSeriesServiceStatisticsPagesWithContext(ctx aws.Context, input *GetTimeSeriesServiceStatisticsInput, fn func(*GetTimeSeriesServiceStatisticsOutput, bool) bool, opts ...request.Option) error {
1875	p := request.Pagination{
1876		NewRequest: func() (*request.Request, error) {
1877			var inCpy *GetTimeSeriesServiceStatisticsInput
1878			if input != nil {
1879				tmp := *input
1880				inCpy = &tmp
1881			}
1882			req, _ := c.GetTimeSeriesServiceStatisticsRequest(inCpy)
1883			req.SetContext(ctx)
1884			req.ApplyOptions(opts...)
1885			return req, nil
1886		},
1887	}
1888
1889	for p.Next() {
1890		if !fn(p.Page().(*GetTimeSeriesServiceStatisticsOutput), !p.HasNextPage()) {
1891			break
1892		}
1893	}
1894
1895	return p.Err()
1896}
1897
1898const opGetTraceGraph = "GetTraceGraph"
1899
1900// GetTraceGraphRequest generates a "aws/request.Request" representing the
1901// client's request for the GetTraceGraph operation. The "output" return
1902// value will be populated with the request's response once the request completes
1903// successfully.
1904//
1905// Use "Send" method on the returned Request to send the API call to the service.
1906// the "output" return value is not valid until after Send returns without error.
1907//
1908// See GetTraceGraph for more information on using the GetTraceGraph
1909// API call, and error handling.
1910//
1911// This method is useful when you want to inject custom logic or configuration
1912// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1913//
1914//
1915//    // Example sending a request using the GetTraceGraphRequest method.
1916//    req, resp := client.GetTraceGraphRequest(params)
1917//
1918//    err := req.Send()
1919//    if err == nil { // resp is now filled
1920//        fmt.Println(resp)
1921//    }
1922//
1923// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetTraceGraph
1924func (c *XRay) GetTraceGraphRequest(input *GetTraceGraphInput) (req *request.Request, output *GetTraceGraphOutput) {
1925	op := &request.Operation{
1926		Name:       opGetTraceGraph,
1927		HTTPMethod: "POST",
1928		HTTPPath:   "/TraceGraph",
1929		Paginator: &request.Paginator{
1930			InputTokens:     []string{"NextToken"},
1931			OutputTokens:    []string{"NextToken"},
1932			LimitToken:      "",
1933			TruncationToken: "",
1934		},
1935	}
1936
1937	if input == nil {
1938		input = &GetTraceGraphInput{}
1939	}
1940
1941	output = &GetTraceGraphOutput{}
1942	req = c.newRequest(op, input, output)
1943	return
1944}
1945
1946// GetTraceGraph API operation for AWS X-Ray.
1947//
1948// Retrieves a service graph for one or more specific trace IDs.
1949//
1950// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1951// with awserr.Error's Code and Message methods to get detailed information about
1952// the error.
1953//
1954// See the AWS API reference guide for AWS X-Ray's
1955// API operation GetTraceGraph for usage and error information.
1956//
1957// Returned Error Types:
1958//   * InvalidRequestException
1959//   The request is missing required parameters or has invalid parameters.
1960//
1961//   * ThrottledException
1962//   The request exceeds the maximum number of requests per second.
1963//
1964// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetTraceGraph
1965func (c *XRay) GetTraceGraph(input *GetTraceGraphInput) (*GetTraceGraphOutput, error) {
1966	req, out := c.GetTraceGraphRequest(input)
1967	return out, req.Send()
1968}
1969
1970// GetTraceGraphWithContext is the same as GetTraceGraph with the addition of
1971// the ability to pass a context and additional request options.
1972//
1973// See GetTraceGraph for details on how to use this API operation.
1974//
1975// The context must be non-nil and will be used for request cancellation. If
1976// the context is nil a panic will occur. In the future the SDK may create
1977// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1978// for more information on using Contexts.
1979func (c *XRay) GetTraceGraphWithContext(ctx aws.Context, input *GetTraceGraphInput, opts ...request.Option) (*GetTraceGraphOutput, error) {
1980	req, out := c.GetTraceGraphRequest(input)
1981	req.SetContext(ctx)
1982	req.ApplyOptions(opts...)
1983	return out, req.Send()
1984}
1985
1986// GetTraceGraphPages iterates over the pages of a GetTraceGraph operation,
1987// calling the "fn" function with the response data for each page. To stop
1988// iterating, return false from the fn function.
1989//
1990// See GetTraceGraph method for more information on how to use this operation.
1991//
1992// Note: This operation can generate multiple requests to a service.
1993//
1994//    // Example iterating over at most 3 pages of a GetTraceGraph operation.
1995//    pageNum := 0
1996//    err := client.GetTraceGraphPages(params,
1997//        func(page *xray.GetTraceGraphOutput, lastPage bool) bool {
1998//            pageNum++
1999//            fmt.Println(page)
2000//            return pageNum <= 3
2001//        })
2002//
2003func (c *XRay) GetTraceGraphPages(input *GetTraceGraphInput, fn func(*GetTraceGraphOutput, bool) bool) error {
2004	return c.GetTraceGraphPagesWithContext(aws.BackgroundContext(), input, fn)
2005}
2006
2007// GetTraceGraphPagesWithContext same as GetTraceGraphPages except
2008// it takes a Context and allows setting request options on the pages.
2009//
2010// The context must be non-nil and will be used for request cancellation. If
2011// the context is nil a panic will occur. In the future the SDK may create
2012// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2013// for more information on using Contexts.
2014func (c *XRay) GetTraceGraphPagesWithContext(ctx aws.Context, input *GetTraceGraphInput, fn func(*GetTraceGraphOutput, bool) bool, opts ...request.Option) error {
2015	p := request.Pagination{
2016		NewRequest: func() (*request.Request, error) {
2017			var inCpy *GetTraceGraphInput
2018			if input != nil {
2019				tmp := *input
2020				inCpy = &tmp
2021			}
2022			req, _ := c.GetTraceGraphRequest(inCpy)
2023			req.SetContext(ctx)
2024			req.ApplyOptions(opts...)
2025			return req, nil
2026		},
2027	}
2028
2029	for p.Next() {
2030		if !fn(p.Page().(*GetTraceGraphOutput), !p.HasNextPage()) {
2031			break
2032		}
2033	}
2034
2035	return p.Err()
2036}
2037
2038const opGetTraceSummaries = "GetTraceSummaries"
2039
2040// GetTraceSummariesRequest generates a "aws/request.Request" representing the
2041// client's request for the GetTraceSummaries operation. The "output" return
2042// value will be populated with the request's response once the request completes
2043// successfully.
2044//
2045// Use "Send" method on the returned Request to send the API call to the service.
2046// the "output" return value is not valid until after Send returns without error.
2047//
2048// See GetTraceSummaries for more information on using the GetTraceSummaries
2049// API call, and error handling.
2050//
2051// This method is useful when you want to inject custom logic or configuration
2052// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2053//
2054//
2055//    // Example sending a request using the GetTraceSummariesRequest method.
2056//    req, resp := client.GetTraceSummariesRequest(params)
2057//
2058//    err := req.Send()
2059//    if err == nil { // resp is now filled
2060//        fmt.Println(resp)
2061//    }
2062//
2063// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetTraceSummaries
2064func (c *XRay) GetTraceSummariesRequest(input *GetTraceSummariesInput) (req *request.Request, output *GetTraceSummariesOutput) {
2065	op := &request.Operation{
2066		Name:       opGetTraceSummaries,
2067		HTTPMethod: "POST",
2068		HTTPPath:   "/TraceSummaries",
2069		Paginator: &request.Paginator{
2070			InputTokens:     []string{"NextToken"},
2071			OutputTokens:    []string{"NextToken"},
2072			LimitToken:      "",
2073			TruncationToken: "",
2074		},
2075	}
2076
2077	if input == nil {
2078		input = &GetTraceSummariesInput{}
2079	}
2080
2081	output = &GetTraceSummariesOutput{}
2082	req = c.newRequest(op, input, output)
2083	return
2084}
2085
2086// GetTraceSummaries API operation for AWS X-Ray.
2087//
2088// Retrieves IDs and annotations for traces available for a specified time frame
2089// using an optional filter. To get the full traces, pass the trace IDs to BatchGetTraces.
2090//
2091// A filter expression can target traced requests that hit specific service
2092// nodes or edges, have errors, or come from a known user. For example, the
2093// following filter expression targets traces that pass through api.example.com:
2094//
2095// service("api.example.com")
2096//
2097// This filter expression finds traces that have an annotation named account
2098// with the value 12345:
2099//
2100// annotation.account = "12345"
2101//
2102// For a full list of indexed fields and keywords that you can use in filter
2103// expressions, see Using Filter Expressions (https://docs.aws.amazon.com/xray/latest/devguide/xray-console-filters.html)
2104// in the AWS X-Ray Developer Guide.
2105//
2106// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2107// with awserr.Error's Code and Message methods to get detailed information about
2108// the error.
2109//
2110// See the AWS API reference guide for AWS X-Ray's
2111// API operation GetTraceSummaries for usage and error information.
2112//
2113// Returned Error Types:
2114//   * InvalidRequestException
2115//   The request is missing required parameters or has invalid parameters.
2116//
2117//   * ThrottledException
2118//   The request exceeds the maximum number of requests per second.
2119//
2120// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetTraceSummaries
2121func (c *XRay) GetTraceSummaries(input *GetTraceSummariesInput) (*GetTraceSummariesOutput, error) {
2122	req, out := c.GetTraceSummariesRequest(input)
2123	return out, req.Send()
2124}
2125
2126// GetTraceSummariesWithContext is the same as GetTraceSummaries with the addition of
2127// the ability to pass a context and additional request options.
2128//
2129// See GetTraceSummaries for details on how to use this API operation.
2130//
2131// The context must be non-nil and will be used for request cancellation. If
2132// the context is nil a panic will occur. In the future the SDK may create
2133// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2134// for more information on using Contexts.
2135func (c *XRay) GetTraceSummariesWithContext(ctx aws.Context, input *GetTraceSummariesInput, opts ...request.Option) (*GetTraceSummariesOutput, error) {
2136	req, out := c.GetTraceSummariesRequest(input)
2137	req.SetContext(ctx)
2138	req.ApplyOptions(opts...)
2139	return out, req.Send()
2140}
2141
2142// GetTraceSummariesPages iterates over the pages of a GetTraceSummaries operation,
2143// calling the "fn" function with the response data for each page. To stop
2144// iterating, return false from the fn function.
2145//
2146// See GetTraceSummaries method for more information on how to use this operation.
2147//
2148// Note: This operation can generate multiple requests to a service.
2149//
2150//    // Example iterating over at most 3 pages of a GetTraceSummaries operation.
2151//    pageNum := 0
2152//    err := client.GetTraceSummariesPages(params,
2153//        func(page *xray.GetTraceSummariesOutput, lastPage bool) bool {
2154//            pageNum++
2155//            fmt.Println(page)
2156//            return pageNum <= 3
2157//        })
2158//
2159func (c *XRay) GetTraceSummariesPages(input *GetTraceSummariesInput, fn func(*GetTraceSummariesOutput, bool) bool) error {
2160	return c.GetTraceSummariesPagesWithContext(aws.BackgroundContext(), input, fn)
2161}
2162
2163// GetTraceSummariesPagesWithContext same as GetTraceSummariesPages except
2164// it takes a Context and allows setting request options on the pages.
2165//
2166// The context must be non-nil and will be used for request cancellation. If
2167// the context is nil a panic will occur. In the future the SDK may create
2168// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2169// for more information on using Contexts.
2170func (c *XRay) GetTraceSummariesPagesWithContext(ctx aws.Context, input *GetTraceSummariesInput, fn func(*GetTraceSummariesOutput, bool) bool, opts ...request.Option) error {
2171	p := request.Pagination{
2172		NewRequest: func() (*request.Request, error) {
2173			var inCpy *GetTraceSummariesInput
2174			if input != nil {
2175				tmp := *input
2176				inCpy = &tmp
2177			}
2178			req, _ := c.GetTraceSummariesRequest(inCpy)
2179			req.SetContext(ctx)
2180			req.ApplyOptions(opts...)
2181			return req, nil
2182		},
2183	}
2184
2185	for p.Next() {
2186		if !fn(p.Page().(*GetTraceSummariesOutput), !p.HasNextPage()) {
2187			break
2188		}
2189	}
2190
2191	return p.Err()
2192}
2193
2194const opListTagsForResource = "ListTagsForResource"
2195
2196// ListTagsForResourceRequest generates a "aws/request.Request" representing the
2197// client's request for the ListTagsForResource operation. The "output" return
2198// value will be populated with the request's response once the request completes
2199// successfully.
2200//
2201// Use "Send" method on the returned Request to send the API call to the service.
2202// the "output" return value is not valid until after Send returns without error.
2203//
2204// See ListTagsForResource for more information on using the ListTagsForResource
2205// API call, and error handling.
2206//
2207// This method is useful when you want to inject custom logic or configuration
2208// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2209//
2210//
2211//    // Example sending a request using the ListTagsForResourceRequest method.
2212//    req, resp := client.ListTagsForResourceRequest(params)
2213//
2214//    err := req.Send()
2215//    if err == nil { // resp is now filled
2216//        fmt.Println(resp)
2217//    }
2218//
2219// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/ListTagsForResource
2220func (c *XRay) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
2221	op := &request.Operation{
2222		Name:       opListTagsForResource,
2223		HTTPMethod: "POST",
2224		HTTPPath:   "/ListTagsForResource",
2225	}
2226
2227	if input == nil {
2228		input = &ListTagsForResourceInput{}
2229	}
2230
2231	output = &ListTagsForResourceOutput{}
2232	req = c.newRequest(op, input, output)
2233	return
2234}
2235
2236// ListTagsForResource API operation for AWS X-Ray.
2237//
2238// Returns a list of tags that are applied to the specified AWS X-Ray group
2239// or sampling rule.
2240//
2241// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2242// with awserr.Error's Code and Message methods to get detailed information about
2243// the error.
2244//
2245// See the AWS API reference guide for AWS X-Ray's
2246// API operation ListTagsForResource for usage and error information.
2247//
2248// Returned Error Types:
2249//   * InvalidRequestException
2250//   The request is missing required parameters or has invalid parameters.
2251//
2252//   * ThrottledException
2253//   The request exceeds the maximum number of requests per second.
2254//
2255//   * ResourceNotFoundException
2256//   The resource was not found. Verify that the name or Amazon Resource Name
2257//   (ARN) of the resource is correct.
2258//
2259// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/ListTagsForResource
2260func (c *XRay) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
2261	req, out := c.ListTagsForResourceRequest(input)
2262	return out, req.Send()
2263}
2264
2265// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
2266// the ability to pass a context and additional request options.
2267//
2268// See ListTagsForResource for details on how to use this API operation.
2269//
2270// The context must be non-nil and will be used for request cancellation. If
2271// the context is nil a panic will occur. In the future the SDK may create
2272// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2273// for more information on using Contexts.
2274func (c *XRay) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
2275	req, out := c.ListTagsForResourceRequest(input)
2276	req.SetContext(ctx)
2277	req.ApplyOptions(opts...)
2278	return out, req.Send()
2279}
2280
2281const opPutEncryptionConfig = "PutEncryptionConfig"
2282
2283// PutEncryptionConfigRequest generates a "aws/request.Request" representing the
2284// client's request for the PutEncryptionConfig operation. The "output" return
2285// value will be populated with the request's response once the request completes
2286// successfully.
2287//
2288// Use "Send" method on the returned Request to send the API call to the service.
2289// the "output" return value is not valid until after Send returns without error.
2290//
2291// See PutEncryptionConfig for more information on using the PutEncryptionConfig
2292// API call, and error handling.
2293//
2294// This method is useful when you want to inject custom logic or configuration
2295// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2296//
2297//
2298//    // Example sending a request using the PutEncryptionConfigRequest method.
2299//    req, resp := client.PutEncryptionConfigRequest(params)
2300//
2301//    err := req.Send()
2302//    if err == nil { // resp is now filled
2303//        fmt.Println(resp)
2304//    }
2305//
2306// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/PutEncryptionConfig
2307func (c *XRay) PutEncryptionConfigRequest(input *PutEncryptionConfigInput) (req *request.Request, output *PutEncryptionConfigOutput) {
2308	op := &request.Operation{
2309		Name:       opPutEncryptionConfig,
2310		HTTPMethod: "POST",
2311		HTTPPath:   "/PutEncryptionConfig",
2312	}
2313
2314	if input == nil {
2315		input = &PutEncryptionConfigInput{}
2316	}
2317
2318	output = &PutEncryptionConfigOutput{}
2319	req = c.newRequest(op, input, output)
2320	return
2321}
2322
2323// PutEncryptionConfig API operation for AWS X-Ray.
2324//
2325// Updates the encryption configuration for X-Ray data.
2326//
2327// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2328// with awserr.Error's Code and Message methods to get detailed information about
2329// the error.
2330//
2331// See the AWS API reference guide for AWS X-Ray's
2332// API operation PutEncryptionConfig for usage and error information.
2333//
2334// Returned Error Types:
2335//   * InvalidRequestException
2336//   The request is missing required parameters or has invalid parameters.
2337//
2338//   * ThrottledException
2339//   The request exceeds the maximum number of requests per second.
2340//
2341// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/PutEncryptionConfig
2342func (c *XRay) PutEncryptionConfig(input *PutEncryptionConfigInput) (*PutEncryptionConfigOutput, error) {
2343	req, out := c.PutEncryptionConfigRequest(input)
2344	return out, req.Send()
2345}
2346
2347// PutEncryptionConfigWithContext is the same as PutEncryptionConfig with the addition of
2348// the ability to pass a context and additional request options.
2349//
2350// See PutEncryptionConfig for details on how to use this API operation.
2351//
2352// The context must be non-nil and will be used for request cancellation. If
2353// the context is nil a panic will occur. In the future the SDK may create
2354// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2355// for more information on using Contexts.
2356func (c *XRay) PutEncryptionConfigWithContext(ctx aws.Context, input *PutEncryptionConfigInput, opts ...request.Option) (*PutEncryptionConfigOutput, error) {
2357	req, out := c.PutEncryptionConfigRequest(input)
2358	req.SetContext(ctx)
2359	req.ApplyOptions(opts...)
2360	return out, req.Send()
2361}
2362
2363const opPutTelemetryRecords = "PutTelemetryRecords"
2364
2365// PutTelemetryRecordsRequest generates a "aws/request.Request" representing the
2366// client's request for the PutTelemetryRecords operation. The "output" return
2367// value will be populated with the request's response once the request completes
2368// successfully.
2369//
2370// Use "Send" method on the returned Request to send the API call to the service.
2371// the "output" return value is not valid until after Send returns without error.
2372//
2373// See PutTelemetryRecords for more information on using the PutTelemetryRecords
2374// API call, and error handling.
2375//
2376// This method is useful when you want to inject custom logic or configuration
2377// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2378//
2379//
2380//    // Example sending a request using the PutTelemetryRecordsRequest method.
2381//    req, resp := client.PutTelemetryRecordsRequest(params)
2382//
2383//    err := req.Send()
2384//    if err == nil { // resp is now filled
2385//        fmt.Println(resp)
2386//    }
2387//
2388// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/PutTelemetryRecords
2389func (c *XRay) PutTelemetryRecordsRequest(input *PutTelemetryRecordsInput) (req *request.Request, output *PutTelemetryRecordsOutput) {
2390	op := &request.Operation{
2391		Name:       opPutTelemetryRecords,
2392		HTTPMethod: "POST",
2393		HTTPPath:   "/TelemetryRecords",
2394	}
2395
2396	if input == nil {
2397		input = &PutTelemetryRecordsInput{}
2398	}
2399
2400	output = &PutTelemetryRecordsOutput{}
2401	req = c.newRequest(op, input, output)
2402	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2403	return
2404}
2405
2406// PutTelemetryRecords API operation for AWS X-Ray.
2407//
2408// Used by the AWS X-Ray daemon to upload telemetry.
2409//
2410// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2411// with awserr.Error's Code and Message methods to get detailed information about
2412// the error.
2413//
2414// See the AWS API reference guide for AWS X-Ray's
2415// API operation PutTelemetryRecords for usage and error information.
2416//
2417// Returned Error Types:
2418//   * InvalidRequestException
2419//   The request is missing required parameters or has invalid parameters.
2420//
2421//   * ThrottledException
2422//   The request exceeds the maximum number of requests per second.
2423//
2424// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/PutTelemetryRecords
2425func (c *XRay) PutTelemetryRecords(input *PutTelemetryRecordsInput) (*PutTelemetryRecordsOutput, error) {
2426	req, out := c.PutTelemetryRecordsRequest(input)
2427	return out, req.Send()
2428}
2429
2430// PutTelemetryRecordsWithContext is the same as PutTelemetryRecords with the addition of
2431// the ability to pass a context and additional request options.
2432//
2433// See PutTelemetryRecords for details on how to use this API operation.
2434//
2435// The context must be non-nil and will be used for request cancellation. If
2436// the context is nil a panic will occur. In the future the SDK may create
2437// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2438// for more information on using Contexts.
2439func (c *XRay) PutTelemetryRecordsWithContext(ctx aws.Context, input *PutTelemetryRecordsInput, opts ...request.Option) (*PutTelemetryRecordsOutput, error) {
2440	req, out := c.PutTelemetryRecordsRequest(input)
2441	req.SetContext(ctx)
2442	req.ApplyOptions(opts...)
2443	return out, req.Send()
2444}
2445
2446const opPutTraceSegments = "PutTraceSegments"
2447
2448// PutTraceSegmentsRequest generates a "aws/request.Request" representing the
2449// client's request for the PutTraceSegments operation. The "output" return
2450// value will be populated with the request's response once the request completes
2451// successfully.
2452//
2453// Use "Send" method on the returned Request to send the API call to the service.
2454// the "output" return value is not valid until after Send returns without error.
2455//
2456// See PutTraceSegments for more information on using the PutTraceSegments
2457// API call, and error handling.
2458//
2459// This method is useful when you want to inject custom logic or configuration
2460// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2461//
2462//
2463//    // Example sending a request using the PutTraceSegmentsRequest method.
2464//    req, resp := client.PutTraceSegmentsRequest(params)
2465//
2466//    err := req.Send()
2467//    if err == nil { // resp is now filled
2468//        fmt.Println(resp)
2469//    }
2470//
2471// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/PutTraceSegments
2472func (c *XRay) PutTraceSegmentsRequest(input *PutTraceSegmentsInput) (req *request.Request, output *PutTraceSegmentsOutput) {
2473	op := &request.Operation{
2474		Name:       opPutTraceSegments,
2475		HTTPMethod: "POST",
2476		HTTPPath:   "/TraceSegments",
2477	}
2478
2479	if input == nil {
2480		input = &PutTraceSegmentsInput{}
2481	}
2482
2483	output = &PutTraceSegmentsOutput{}
2484	req = c.newRequest(op, input, output)
2485	return
2486}
2487
2488// PutTraceSegments API operation for AWS X-Ray.
2489//
2490// Uploads segment documents to AWS X-Ray. The X-Ray SDK (https://docs.aws.amazon.com/xray/index.html)
2491// generates segment documents and sends them to the X-Ray daemon, which uploads
2492// them in batches. A segment document can be a completed segment, an in-progress
2493// segment, or an array of subsegments.
2494//
2495// Segments must include the following fields. For the full segment document
2496// schema, see AWS X-Ray Segment Documents (https://docs.aws.amazon.com/xray/latest/devguide/xray-api-segmentdocuments.html)
2497// in the AWS X-Ray Developer Guide.
2498//
2499// Required segment document fields
2500//
2501//    * name - The name of the service that handled the request.
2502//
2503//    * id - A 64-bit identifier for the segment, unique among segments in the
2504//    same trace, in 16 hexadecimal digits.
2505//
2506//    * trace_id - A unique identifier that connects all segments and subsegments
2507//    originating from a single client request.
2508//
2509//    * start_time - Time the segment or subsegment was created, in floating
2510//    point seconds in epoch time, accurate to milliseconds. For example, 1480615200.010
2511//    or 1.480615200010E9.
2512//
2513//    * end_time - Time the segment or subsegment was closed. For example, 1480615200.090
2514//    or 1.480615200090E9. Specify either an end_time or in_progress.
2515//
2516//    * in_progress - Set to true instead of specifying an end_time to record
2517//    that a segment has been started, but is not complete. Send an in-progress
2518//    segment when your application receives a request that will take a long
2519//    time to serve, to trace that the request was received. When the response
2520//    is sent, send the complete segment to overwrite the in-progress segment.
2521//
2522// A trace_id consists of three numbers separated by hyphens. For example, 1-58406520-a006649127e371903a2de979.
2523// This includes:
2524//
2525// Trace ID Format
2526//
2527//    * The version number, for instance, 1.
2528//
2529//    * The time of the original request, in Unix epoch time, in 8 hexadecimal
2530//    digits. For example, 10:00AM December 2nd, 2016 PST in epoch time is 1480615200
2531//    seconds, or 58406520 in hexadecimal.
2532//
2533//    * A 96-bit identifier for the trace, globally unique, in 24 hexadecimal
2534//    digits.
2535//
2536// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2537// with awserr.Error's Code and Message methods to get detailed information about
2538// the error.
2539//
2540// See the AWS API reference guide for AWS X-Ray's
2541// API operation PutTraceSegments for usage and error information.
2542//
2543// Returned Error Types:
2544//   * InvalidRequestException
2545//   The request is missing required parameters or has invalid parameters.
2546//
2547//   * ThrottledException
2548//   The request exceeds the maximum number of requests per second.
2549//
2550// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/PutTraceSegments
2551func (c *XRay) PutTraceSegments(input *PutTraceSegmentsInput) (*PutTraceSegmentsOutput, error) {
2552	req, out := c.PutTraceSegmentsRequest(input)
2553	return out, req.Send()
2554}
2555
2556// PutTraceSegmentsWithContext is the same as PutTraceSegments with the addition of
2557// the ability to pass a context and additional request options.
2558//
2559// See PutTraceSegments for details on how to use this API operation.
2560//
2561// The context must be non-nil and will be used for request cancellation. If
2562// the context is nil a panic will occur. In the future the SDK may create
2563// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2564// for more information on using Contexts.
2565func (c *XRay) PutTraceSegmentsWithContext(ctx aws.Context, input *PutTraceSegmentsInput, opts ...request.Option) (*PutTraceSegmentsOutput, error) {
2566	req, out := c.PutTraceSegmentsRequest(input)
2567	req.SetContext(ctx)
2568	req.ApplyOptions(opts...)
2569	return out, req.Send()
2570}
2571
2572const opTagResource = "TagResource"
2573
2574// TagResourceRequest generates a "aws/request.Request" representing the
2575// client's request for the TagResource operation. The "output" return
2576// value will be populated with the request's response once the request completes
2577// successfully.
2578//
2579// Use "Send" method on the returned Request to send the API call to the service.
2580// the "output" return value is not valid until after Send returns without error.
2581//
2582// See TagResource for more information on using the TagResource
2583// API call, and error handling.
2584//
2585// This method is useful when you want to inject custom logic or configuration
2586// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2587//
2588//
2589//    // Example sending a request using the TagResourceRequest method.
2590//    req, resp := client.TagResourceRequest(params)
2591//
2592//    err := req.Send()
2593//    if err == nil { // resp is now filled
2594//        fmt.Println(resp)
2595//    }
2596//
2597// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/TagResource
2598func (c *XRay) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
2599	op := &request.Operation{
2600		Name:       opTagResource,
2601		HTTPMethod: "POST",
2602		HTTPPath:   "/TagResource",
2603	}
2604
2605	if input == nil {
2606		input = &TagResourceInput{}
2607	}
2608
2609	output = &TagResourceOutput{}
2610	req = c.newRequest(op, input, output)
2611	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2612	return
2613}
2614
2615// TagResource API operation for AWS X-Ray.
2616//
2617// Applies tags to an existing AWS X-Ray group or sampling rule.
2618//
2619// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2620// with awserr.Error's Code and Message methods to get detailed information about
2621// the error.
2622//
2623// See the AWS API reference guide for AWS X-Ray's
2624// API operation TagResource for usage and error information.
2625//
2626// Returned Error Types:
2627//   * InvalidRequestException
2628//   The request is missing required parameters or has invalid parameters.
2629//
2630//   * ThrottledException
2631//   The request exceeds the maximum number of requests per second.
2632//
2633//   * ResourceNotFoundException
2634//   The resource was not found. Verify that the name or Amazon Resource Name
2635//   (ARN) of the resource is correct.
2636//
2637//   * TooManyTagsException
2638//   You have exceeded the maximum number of tags you can apply to this resource.
2639//
2640// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/TagResource
2641func (c *XRay) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
2642	req, out := c.TagResourceRequest(input)
2643	return out, req.Send()
2644}
2645
2646// TagResourceWithContext is the same as TagResource with the addition of
2647// the ability to pass a context and additional request options.
2648//
2649// See TagResource for details on how to use this API operation.
2650//
2651// The context must be non-nil and will be used for request cancellation. If
2652// the context is nil a panic will occur. In the future the SDK may create
2653// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2654// for more information on using Contexts.
2655func (c *XRay) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
2656	req, out := c.TagResourceRequest(input)
2657	req.SetContext(ctx)
2658	req.ApplyOptions(opts...)
2659	return out, req.Send()
2660}
2661
2662const opUntagResource = "UntagResource"
2663
2664// UntagResourceRequest generates a "aws/request.Request" representing the
2665// client's request for the UntagResource operation. The "output" return
2666// value will be populated with the request's response once the request completes
2667// successfully.
2668//
2669// Use "Send" method on the returned Request to send the API call to the service.
2670// the "output" return value is not valid until after Send returns without error.
2671//
2672// See UntagResource for more information on using the UntagResource
2673// API call, and error handling.
2674//
2675// This method is useful when you want to inject custom logic or configuration
2676// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2677//
2678//
2679//    // Example sending a request using the UntagResourceRequest method.
2680//    req, resp := client.UntagResourceRequest(params)
2681//
2682//    err := req.Send()
2683//    if err == nil { // resp is now filled
2684//        fmt.Println(resp)
2685//    }
2686//
2687// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/UntagResource
2688func (c *XRay) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
2689	op := &request.Operation{
2690		Name:       opUntagResource,
2691		HTTPMethod: "POST",
2692		HTTPPath:   "/UntagResource",
2693	}
2694
2695	if input == nil {
2696		input = &UntagResourceInput{}
2697	}
2698
2699	output = &UntagResourceOutput{}
2700	req = c.newRequest(op, input, output)
2701	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2702	return
2703}
2704
2705// UntagResource API operation for AWS X-Ray.
2706//
2707// Removes tags from an AWS X-Ray group or sampling rule. You cannot edit or
2708// delete system tags (those with an aws: prefix).
2709//
2710// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2711// with awserr.Error's Code and Message methods to get detailed information about
2712// the error.
2713//
2714// See the AWS API reference guide for AWS X-Ray's
2715// API operation UntagResource for usage and error information.
2716//
2717// Returned Error Types:
2718//   * InvalidRequestException
2719//   The request is missing required parameters or has invalid parameters.
2720//
2721//   * ThrottledException
2722//   The request exceeds the maximum number of requests per second.
2723//
2724//   * ResourceNotFoundException
2725//   The resource was not found. Verify that the name or Amazon Resource Name
2726//   (ARN) of the resource is correct.
2727//
2728// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/UntagResource
2729func (c *XRay) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
2730	req, out := c.UntagResourceRequest(input)
2731	return out, req.Send()
2732}
2733
2734// UntagResourceWithContext is the same as UntagResource with the addition of
2735// the ability to pass a context and additional request options.
2736//
2737// See UntagResource for details on how to use this API operation.
2738//
2739// The context must be non-nil and will be used for request cancellation. If
2740// the context is nil a panic will occur. In the future the SDK may create
2741// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2742// for more information on using Contexts.
2743func (c *XRay) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
2744	req, out := c.UntagResourceRequest(input)
2745	req.SetContext(ctx)
2746	req.ApplyOptions(opts...)
2747	return out, req.Send()
2748}
2749
2750const opUpdateGroup = "UpdateGroup"
2751
2752// UpdateGroupRequest generates a "aws/request.Request" representing the
2753// client's request for the UpdateGroup operation. The "output" return
2754// value will be populated with the request's response once the request completes
2755// successfully.
2756//
2757// Use "Send" method on the returned Request to send the API call to the service.
2758// the "output" return value is not valid until after Send returns without error.
2759//
2760// See UpdateGroup for more information on using the UpdateGroup
2761// API call, and error handling.
2762//
2763// This method is useful when you want to inject custom logic or configuration
2764// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2765//
2766//
2767//    // Example sending a request using the UpdateGroupRequest method.
2768//    req, resp := client.UpdateGroupRequest(params)
2769//
2770//    err := req.Send()
2771//    if err == nil { // resp is now filled
2772//        fmt.Println(resp)
2773//    }
2774//
2775// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/UpdateGroup
2776func (c *XRay) UpdateGroupRequest(input *UpdateGroupInput) (req *request.Request, output *UpdateGroupOutput) {
2777	op := &request.Operation{
2778		Name:       opUpdateGroup,
2779		HTTPMethod: "POST",
2780		HTTPPath:   "/UpdateGroup",
2781	}
2782
2783	if input == nil {
2784		input = &UpdateGroupInput{}
2785	}
2786
2787	output = &UpdateGroupOutput{}
2788	req = c.newRequest(op, input, output)
2789	return
2790}
2791
2792// UpdateGroup API operation for AWS X-Ray.
2793//
2794// Updates a group resource.
2795//
2796// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2797// with awserr.Error's Code and Message methods to get detailed information about
2798// the error.
2799//
2800// See the AWS API reference guide for AWS X-Ray's
2801// API operation UpdateGroup for usage and error information.
2802//
2803// Returned Error Types:
2804//   * InvalidRequestException
2805//   The request is missing required parameters or has invalid parameters.
2806//
2807//   * ThrottledException
2808//   The request exceeds the maximum number of requests per second.
2809//
2810// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/UpdateGroup
2811func (c *XRay) UpdateGroup(input *UpdateGroupInput) (*UpdateGroupOutput, error) {
2812	req, out := c.UpdateGroupRequest(input)
2813	return out, req.Send()
2814}
2815
2816// UpdateGroupWithContext is the same as UpdateGroup with the addition of
2817// the ability to pass a context and additional request options.
2818//
2819// See UpdateGroup for details on how to use this API operation.
2820//
2821// The context must be non-nil and will be used for request cancellation. If
2822// the context is nil a panic will occur. In the future the SDK may create
2823// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2824// for more information on using Contexts.
2825func (c *XRay) UpdateGroupWithContext(ctx aws.Context, input *UpdateGroupInput, opts ...request.Option) (*UpdateGroupOutput, error) {
2826	req, out := c.UpdateGroupRequest(input)
2827	req.SetContext(ctx)
2828	req.ApplyOptions(opts...)
2829	return out, req.Send()
2830}
2831
2832const opUpdateSamplingRule = "UpdateSamplingRule"
2833
2834// UpdateSamplingRuleRequest generates a "aws/request.Request" representing the
2835// client's request for the UpdateSamplingRule operation. The "output" return
2836// value will be populated with the request's response once the request completes
2837// successfully.
2838//
2839// Use "Send" method on the returned Request to send the API call to the service.
2840// the "output" return value is not valid until after Send returns without error.
2841//
2842// See UpdateSamplingRule for more information on using the UpdateSamplingRule
2843// API call, and error handling.
2844//
2845// This method is useful when you want to inject custom logic or configuration
2846// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2847//
2848//
2849//    // Example sending a request using the UpdateSamplingRuleRequest method.
2850//    req, resp := client.UpdateSamplingRuleRequest(params)
2851//
2852//    err := req.Send()
2853//    if err == nil { // resp is now filled
2854//        fmt.Println(resp)
2855//    }
2856//
2857// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/UpdateSamplingRule
2858func (c *XRay) UpdateSamplingRuleRequest(input *UpdateSamplingRuleInput) (req *request.Request, output *UpdateSamplingRuleOutput) {
2859	op := &request.Operation{
2860		Name:       opUpdateSamplingRule,
2861		HTTPMethod: "POST",
2862		HTTPPath:   "/UpdateSamplingRule",
2863	}
2864
2865	if input == nil {
2866		input = &UpdateSamplingRuleInput{}
2867	}
2868
2869	output = &UpdateSamplingRuleOutput{}
2870	req = c.newRequest(op, input, output)
2871	return
2872}
2873
2874// UpdateSamplingRule API operation for AWS X-Ray.
2875//
2876// Modifies a sampling rule's configuration.
2877//
2878// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2879// with awserr.Error's Code and Message methods to get detailed information about
2880// the error.
2881//
2882// See the AWS API reference guide for AWS X-Ray's
2883// API operation UpdateSamplingRule for usage and error information.
2884//
2885// Returned Error Types:
2886//   * InvalidRequestException
2887//   The request is missing required parameters or has invalid parameters.
2888//
2889//   * ThrottledException
2890//   The request exceeds the maximum number of requests per second.
2891//
2892// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/UpdateSamplingRule
2893func (c *XRay) UpdateSamplingRule(input *UpdateSamplingRuleInput) (*UpdateSamplingRuleOutput, error) {
2894	req, out := c.UpdateSamplingRuleRequest(input)
2895	return out, req.Send()
2896}
2897
2898// UpdateSamplingRuleWithContext is the same as UpdateSamplingRule with the addition of
2899// the ability to pass a context and additional request options.
2900//
2901// See UpdateSamplingRule for details on how to use this API operation.
2902//
2903// The context must be non-nil and will be used for request cancellation. If
2904// the context is nil a panic will occur. In the future the SDK may create
2905// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2906// for more information on using Contexts.
2907func (c *XRay) UpdateSamplingRuleWithContext(ctx aws.Context, input *UpdateSamplingRuleInput, opts ...request.Option) (*UpdateSamplingRuleOutput, error) {
2908	req, out := c.UpdateSamplingRuleRequest(input)
2909	req.SetContext(ctx)
2910	req.ApplyOptions(opts...)
2911	return out, req.Send()
2912}
2913
2914// An alias for an edge.
2915type Alias struct {
2916	_ struct{} `type:"structure"`
2917
2918	// The canonical name of the alias.
2919	Name *string `type:"string"`
2920
2921	// A list of names for the alias, including the canonical name.
2922	Names []*string `type:"list"`
2923
2924	// The type of the alias.
2925	Type *string `type:"string"`
2926}
2927
2928// String returns the string representation
2929func (s Alias) String() string {
2930	return awsutil.Prettify(s)
2931}
2932
2933// GoString returns the string representation
2934func (s Alias) GoString() string {
2935	return s.String()
2936}
2937
2938// SetName sets the Name field's value.
2939func (s *Alias) SetName(v string) *Alias {
2940	s.Name = &v
2941	return s
2942}
2943
2944// SetNames sets the Names field's value.
2945func (s *Alias) SetNames(v []*string) *Alias {
2946	s.Names = v
2947	return s
2948}
2949
2950// SetType sets the Type field's value.
2951func (s *Alias) SetType(v string) *Alias {
2952	s.Type = &v
2953	return s
2954}
2955
2956// Value of a segment annotation. Has one of three value types: Number, Boolean,
2957// or String.
2958type AnnotationValue struct {
2959	_ struct{} `type:"structure"`
2960
2961	// Value for a Boolean annotation.
2962	BooleanValue *bool `type:"boolean"`
2963
2964	// Value for a Number annotation.
2965	NumberValue *float64 `type:"double"`
2966
2967	// Value for a String annotation.
2968	StringValue *string `type:"string"`
2969}
2970
2971// String returns the string representation
2972func (s AnnotationValue) String() string {
2973	return awsutil.Prettify(s)
2974}
2975
2976// GoString returns the string representation
2977func (s AnnotationValue) GoString() string {
2978	return s.String()
2979}
2980
2981// SetBooleanValue sets the BooleanValue field's value.
2982func (s *AnnotationValue) SetBooleanValue(v bool) *AnnotationValue {
2983	s.BooleanValue = &v
2984	return s
2985}
2986
2987// SetNumberValue sets the NumberValue field's value.
2988func (s *AnnotationValue) SetNumberValue(v float64) *AnnotationValue {
2989	s.NumberValue = &v
2990	return s
2991}
2992
2993// SetStringValue sets the StringValue field's value.
2994func (s *AnnotationValue) SetStringValue(v string) *AnnotationValue {
2995	s.StringValue = &v
2996	return s
2997}
2998
2999// The service within the service graph that has anomalously high fault rates.
3000type AnomalousService struct {
3001	_ struct{} `type:"structure"`
3002
3003	ServiceId *ServiceId `type:"structure"`
3004}
3005
3006// String returns the string representation
3007func (s AnomalousService) String() string {
3008	return awsutil.Prettify(s)
3009}
3010
3011// GoString returns the string representation
3012func (s AnomalousService) GoString() string {
3013	return s.String()
3014}
3015
3016// SetServiceId sets the ServiceId field's value.
3017func (s *AnomalousService) SetServiceId(v *ServiceId) *AnomalousService {
3018	s.ServiceId = v
3019	return s
3020}
3021
3022// A list of Availability Zones corresponding to the segments in a trace.
3023type AvailabilityZoneDetail struct {
3024	_ struct{} `type:"structure"`
3025
3026	// The name of a corresponding Availability Zone.
3027	Name *string `type:"string"`
3028}
3029
3030// String returns the string representation
3031func (s AvailabilityZoneDetail) String() string {
3032	return awsutil.Prettify(s)
3033}
3034
3035// GoString returns the string representation
3036func (s AvailabilityZoneDetail) GoString() string {
3037	return s.String()
3038}
3039
3040// SetName sets the Name field's value.
3041func (s *AvailabilityZoneDetail) SetName(v string) *AvailabilityZoneDetail {
3042	s.Name = &v
3043	return s
3044}
3045
3046type BackendConnectionErrors struct {
3047	_ struct{} `type:"structure"`
3048
3049	ConnectionRefusedCount *int64 `type:"integer"`
3050
3051	HTTPCode4XXCount *int64 `type:"integer"`
3052
3053	HTTPCode5XXCount *int64 `type:"integer"`
3054
3055	OtherCount *int64 `type:"integer"`
3056
3057	TimeoutCount *int64 `type:"integer"`
3058
3059	UnknownHostCount *int64 `type:"integer"`
3060}
3061
3062// String returns the string representation
3063func (s BackendConnectionErrors) String() string {
3064	return awsutil.Prettify(s)
3065}
3066
3067// GoString returns the string representation
3068func (s BackendConnectionErrors) GoString() string {
3069	return s.String()
3070}
3071
3072// SetConnectionRefusedCount sets the ConnectionRefusedCount field's value.
3073func (s *BackendConnectionErrors) SetConnectionRefusedCount(v int64) *BackendConnectionErrors {
3074	s.ConnectionRefusedCount = &v
3075	return s
3076}
3077
3078// SetHTTPCode4XXCount sets the HTTPCode4XXCount field's value.
3079func (s *BackendConnectionErrors) SetHTTPCode4XXCount(v int64) *BackendConnectionErrors {
3080	s.HTTPCode4XXCount = &v
3081	return s
3082}
3083
3084// SetHTTPCode5XXCount sets the HTTPCode5XXCount field's value.
3085func (s *BackendConnectionErrors) SetHTTPCode5XXCount(v int64) *BackendConnectionErrors {
3086	s.HTTPCode5XXCount = &v
3087	return s
3088}
3089
3090// SetOtherCount sets the OtherCount field's value.
3091func (s *BackendConnectionErrors) SetOtherCount(v int64) *BackendConnectionErrors {
3092	s.OtherCount = &v
3093	return s
3094}
3095
3096// SetTimeoutCount sets the TimeoutCount field's value.
3097func (s *BackendConnectionErrors) SetTimeoutCount(v int64) *BackendConnectionErrors {
3098	s.TimeoutCount = &v
3099	return s
3100}
3101
3102// SetUnknownHostCount sets the UnknownHostCount field's value.
3103func (s *BackendConnectionErrors) SetUnknownHostCount(v int64) *BackendConnectionErrors {
3104	s.UnknownHostCount = &v
3105	return s
3106}
3107
3108type BatchGetTracesInput struct {
3109	_ struct{} `type:"structure"`
3110
3111	// Pagination token.
3112	NextToken *string `type:"string"`
3113
3114	// Specify the trace IDs of requests for which to retrieve segments.
3115	//
3116	// TraceIds is a required field
3117	TraceIds []*string `type:"list" required:"true"`
3118}
3119
3120// String returns the string representation
3121func (s BatchGetTracesInput) String() string {
3122	return awsutil.Prettify(s)
3123}
3124
3125// GoString returns the string representation
3126func (s BatchGetTracesInput) GoString() string {
3127	return s.String()
3128}
3129
3130// Validate inspects the fields of the type to determine if they are valid.
3131func (s *BatchGetTracesInput) Validate() error {
3132	invalidParams := request.ErrInvalidParams{Context: "BatchGetTracesInput"}
3133	if s.TraceIds == nil {
3134		invalidParams.Add(request.NewErrParamRequired("TraceIds"))
3135	}
3136
3137	if invalidParams.Len() > 0 {
3138		return invalidParams
3139	}
3140	return nil
3141}
3142
3143// SetNextToken sets the NextToken field's value.
3144func (s *BatchGetTracesInput) SetNextToken(v string) *BatchGetTracesInput {
3145	s.NextToken = &v
3146	return s
3147}
3148
3149// SetTraceIds sets the TraceIds field's value.
3150func (s *BatchGetTracesInput) SetTraceIds(v []*string) *BatchGetTracesInput {
3151	s.TraceIds = v
3152	return s
3153}
3154
3155type BatchGetTracesOutput struct {
3156	_ struct{} `type:"structure"`
3157
3158	// Pagination token.
3159	NextToken *string `type:"string"`
3160
3161	// Full traces for the specified requests.
3162	Traces []*Trace `type:"list"`
3163
3164	// Trace IDs of requests that haven't been processed.
3165	UnprocessedTraceIds []*string `type:"list"`
3166}
3167
3168// String returns the string representation
3169func (s BatchGetTracesOutput) String() string {
3170	return awsutil.Prettify(s)
3171}
3172
3173// GoString returns the string representation
3174func (s BatchGetTracesOutput) GoString() string {
3175	return s.String()
3176}
3177
3178// SetNextToken sets the NextToken field's value.
3179func (s *BatchGetTracesOutput) SetNextToken(v string) *BatchGetTracesOutput {
3180	s.NextToken = &v
3181	return s
3182}
3183
3184// SetTraces sets the Traces field's value.
3185func (s *BatchGetTracesOutput) SetTraces(v []*Trace) *BatchGetTracesOutput {
3186	s.Traces = v
3187	return s
3188}
3189
3190// SetUnprocessedTraceIds sets the UnprocessedTraceIds field's value.
3191func (s *BatchGetTracesOutput) SetUnprocessedTraceIds(v []*string) *BatchGetTracesOutput {
3192	s.UnprocessedTraceIds = v
3193	return s
3194}
3195
3196type CreateGroupInput struct {
3197	_ struct{} `type:"structure"`
3198
3199	// The filter expression defining criteria by which to group traces.
3200	FilterExpression *string `type:"string"`
3201
3202	// The case-sensitive name of the new group. Default is a reserved name and
3203	// names must be unique.
3204	//
3205	// GroupName is a required field
3206	GroupName *string `min:"1" type:"string" required:"true"`
3207
3208	// The structure containing configurations related to insights.
3209	//
3210	//    * The InsightsEnabled boolean can be set to true to enable insights for
3211	//    the new group or false to disable insights for the new group.
3212	//
3213	//    * The NotifcationsEnabled boolean can be set to true to enable insights
3214	//    notifications for the new group. Notifications may only be enabled on
3215	//    a group with InsightsEnabled set to true.
3216	InsightsConfiguration *InsightsConfiguration `type:"structure"`
3217
3218	// A map that contains one or more tag keys and tag values to attach to an X-Ray
3219	// group. For more information about ways to use tags, see Tagging AWS resources
3220	// (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) in the AWS
3221	// General Reference.
3222	//
3223	// The following restrictions apply to tags:
3224	//
3225	//    * Maximum number of user-applied tags per resource: 50
3226	//
3227	//    * Maximum tag key length: 128 Unicode characters
3228	//
3229	//    * Maximum tag value length: 256 Unicode characters
3230	//
3231	//    * Valid values for key and value: a-z, A-Z, 0-9, space, and the following
3232	//    characters: _ . : / = + - and @
3233	//
3234	//    * Tag keys and values are case sensitive.
3235	//
3236	//    * Don't use aws: as a prefix for keys; it's reserved for AWS use.
3237	Tags []*Tag `type:"list"`
3238}
3239
3240// String returns the string representation
3241func (s CreateGroupInput) String() string {
3242	return awsutil.Prettify(s)
3243}
3244
3245// GoString returns the string representation
3246func (s CreateGroupInput) GoString() string {
3247	return s.String()
3248}
3249
3250// Validate inspects the fields of the type to determine if they are valid.
3251func (s *CreateGroupInput) Validate() error {
3252	invalidParams := request.ErrInvalidParams{Context: "CreateGroupInput"}
3253	if s.GroupName == nil {
3254		invalidParams.Add(request.NewErrParamRequired("GroupName"))
3255	}
3256	if s.GroupName != nil && len(*s.GroupName) < 1 {
3257		invalidParams.Add(request.NewErrParamMinLen("GroupName", 1))
3258	}
3259	if s.Tags != nil {
3260		for i, v := range s.Tags {
3261			if v == nil {
3262				continue
3263			}
3264			if err := v.Validate(); err != nil {
3265				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
3266			}
3267		}
3268	}
3269
3270	if invalidParams.Len() > 0 {
3271		return invalidParams
3272	}
3273	return nil
3274}
3275
3276// SetFilterExpression sets the FilterExpression field's value.
3277func (s *CreateGroupInput) SetFilterExpression(v string) *CreateGroupInput {
3278	s.FilterExpression = &v
3279	return s
3280}
3281
3282// SetGroupName sets the GroupName field's value.
3283func (s *CreateGroupInput) SetGroupName(v string) *CreateGroupInput {
3284	s.GroupName = &v
3285	return s
3286}
3287
3288// SetInsightsConfiguration sets the InsightsConfiguration field's value.
3289func (s *CreateGroupInput) SetInsightsConfiguration(v *InsightsConfiguration) *CreateGroupInput {
3290	s.InsightsConfiguration = v
3291	return s
3292}
3293
3294// SetTags sets the Tags field's value.
3295func (s *CreateGroupInput) SetTags(v []*Tag) *CreateGroupInput {
3296	s.Tags = v
3297	return s
3298}
3299
3300type CreateGroupOutput struct {
3301	_ struct{} `type:"structure"`
3302
3303	// The group that was created. Contains the name of the group that was created,
3304	// the Amazon Resource Name (ARN) of the group that was generated based on the
3305	// group name, the filter expression, and the insight configuration that was
3306	// assigned to the group.
3307	Group *Group `type:"structure"`
3308}
3309
3310// String returns the string representation
3311func (s CreateGroupOutput) String() string {
3312	return awsutil.Prettify(s)
3313}
3314
3315// GoString returns the string representation
3316func (s CreateGroupOutput) GoString() string {
3317	return s.String()
3318}
3319
3320// SetGroup sets the Group field's value.
3321func (s *CreateGroupOutput) SetGroup(v *Group) *CreateGroupOutput {
3322	s.Group = v
3323	return s
3324}
3325
3326type CreateSamplingRuleInput struct {
3327	_ struct{} `type:"structure"`
3328
3329	// The rule definition.
3330	//
3331	// SamplingRule is a required field
3332	SamplingRule *SamplingRule `type:"structure" required:"true"`
3333
3334	// A map that contains one or more tag keys and tag values to attach to an X-Ray
3335	// sampling rule. For more information about ways to use tags, see Tagging AWS
3336	// resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html)
3337	// in the AWS General Reference.
3338	//
3339	// The following restrictions apply to tags:
3340	//
3341	//    * Maximum number of user-applied tags per resource: 50
3342	//
3343	//    * Maximum tag key length: 128 Unicode characters
3344	//
3345	//    * Maximum tag value length: 256 Unicode characters
3346	//
3347	//    * Valid values for key and value: a-z, A-Z, 0-9, space, and the following
3348	//    characters: _ . : / = + - and @
3349	//
3350	//    * Tag keys and values are case sensitive.
3351	//
3352	//    * Don't use aws: as a prefix for keys; it's reserved for AWS use.
3353	Tags []*Tag `type:"list"`
3354}
3355
3356// String returns the string representation
3357func (s CreateSamplingRuleInput) String() string {
3358	return awsutil.Prettify(s)
3359}
3360
3361// GoString returns the string representation
3362func (s CreateSamplingRuleInput) GoString() string {
3363	return s.String()
3364}
3365
3366// Validate inspects the fields of the type to determine if they are valid.
3367func (s *CreateSamplingRuleInput) Validate() error {
3368	invalidParams := request.ErrInvalidParams{Context: "CreateSamplingRuleInput"}
3369	if s.SamplingRule == nil {
3370		invalidParams.Add(request.NewErrParamRequired("SamplingRule"))
3371	}
3372	if s.SamplingRule != nil {
3373		if err := s.SamplingRule.Validate(); err != nil {
3374			invalidParams.AddNested("SamplingRule", err.(request.ErrInvalidParams))
3375		}
3376	}
3377	if s.Tags != nil {
3378		for i, v := range s.Tags {
3379			if v == nil {
3380				continue
3381			}
3382			if err := v.Validate(); err != nil {
3383				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
3384			}
3385		}
3386	}
3387
3388	if invalidParams.Len() > 0 {
3389		return invalidParams
3390	}
3391	return nil
3392}
3393
3394// SetSamplingRule sets the SamplingRule field's value.
3395func (s *CreateSamplingRuleInput) SetSamplingRule(v *SamplingRule) *CreateSamplingRuleInput {
3396	s.SamplingRule = v
3397	return s
3398}
3399
3400// SetTags sets the Tags field's value.
3401func (s *CreateSamplingRuleInput) SetTags(v []*Tag) *CreateSamplingRuleInput {
3402	s.Tags = v
3403	return s
3404}
3405
3406type CreateSamplingRuleOutput struct {
3407	_ struct{} `type:"structure"`
3408
3409	// The saved rule definition and metadata.
3410	SamplingRuleRecord *SamplingRuleRecord `type:"structure"`
3411}
3412
3413// String returns the string representation
3414func (s CreateSamplingRuleOutput) String() string {
3415	return awsutil.Prettify(s)
3416}
3417
3418// GoString returns the string representation
3419func (s CreateSamplingRuleOutput) GoString() string {
3420	return s.String()
3421}
3422
3423// SetSamplingRuleRecord sets the SamplingRuleRecord field's value.
3424func (s *CreateSamplingRuleOutput) SetSamplingRuleRecord(v *SamplingRuleRecord) *CreateSamplingRuleOutput {
3425	s.SamplingRuleRecord = v
3426	return s
3427}
3428
3429type DeleteGroupInput struct {
3430	_ struct{} `type:"structure"`
3431
3432	// The ARN of the group that was generated on creation.
3433	GroupARN *string `min:"1" type:"string"`
3434
3435	// The case-sensitive name of the group.
3436	GroupName *string `min:"1" type:"string"`
3437}
3438
3439// String returns the string representation
3440func (s DeleteGroupInput) String() string {
3441	return awsutil.Prettify(s)
3442}
3443
3444// GoString returns the string representation
3445func (s DeleteGroupInput) GoString() string {
3446	return s.String()
3447}
3448
3449// Validate inspects the fields of the type to determine if they are valid.
3450func (s *DeleteGroupInput) Validate() error {
3451	invalidParams := request.ErrInvalidParams{Context: "DeleteGroupInput"}
3452	if s.GroupARN != nil && len(*s.GroupARN) < 1 {
3453		invalidParams.Add(request.NewErrParamMinLen("GroupARN", 1))
3454	}
3455	if s.GroupName != nil && len(*s.GroupName) < 1 {
3456		invalidParams.Add(request.NewErrParamMinLen("GroupName", 1))
3457	}
3458
3459	if invalidParams.Len() > 0 {
3460		return invalidParams
3461	}
3462	return nil
3463}
3464
3465// SetGroupARN sets the GroupARN field's value.
3466func (s *DeleteGroupInput) SetGroupARN(v string) *DeleteGroupInput {
3467	s.GroupARN = &v
3468	return s
3469}
3470
3471// SetGroupName sets the GroupName field's value.
3472func (s *DeleteGroupInput) SetGroupName(v string) *DeleteGroupInput {
3473	s.GroupName = &v
3474	return s
3475}
3476
3477type DeleteGroupOutput struct {
3478	_ struct{} `type:"structure"`
3479}
3480
3481// String returns the string representation
3482func (s DeleteGroupOutput) String() string {
3483	return awsutil.Prettify(s)
3484}
3485
3486// GoString returns the string representation
3487func (s DeleteGroupOutput) GoString() string {
3488	return s.String()
3489}
3490
3491type DeleteSamplingRuleInput struct {
3492	_ struct{} `type:"structure"`
3493
3494	// The ARN of the sampling rule. Specify a rule by either name or ARN, but not
3495	// both.
3496	RuleARN *string `type:"string"`
3497
3498	// The name of the sampling rule. Specify a rule by either name or ARN, but
3499	// not both.
3500	RuleName *string `type:"string"`
3501}
3502
3503// String returns the string representation
3504func (s DeleteSamplingRuleInput) String() string {
3505	return awsutil.Prettify(s)
3506}
3507
3508// GoString returns the string representation
3509func (s DeleteSamplingRuleInput) GoString() string {
3510	return s.String()
3511}
3512
3513// SetRuleARN sets the RuleARN field's value.
3514func (s *DeleteSamplingRuleInput) SetRuleARN(v string) *DeleteSamplingRuleInput {
3515	s.RuleARN = &v
3516	return s
3517}
3518
3519// SetRuleName sets the RuleName field's value.
3520func (s *DeleteSamplingRuleInput) SetRuleName(v string) *DeleteSamplingRuleInput {
3521	s.RuleName = &v
3522	return s
3523}
3524
3525type DeleteSamplingRuleOutput struct {
3526	_ struct{} `type:"structure"`
3527
3528	// The deleted rule definition and metadata.
3529	SamplingRuleRecord *SamplingRuleRecord `type:"structure"`
3530}
3531
3532// String returns the string representation
3533func (s DeleteSamplingRuleOutput) String() string {
3534	return awsutil.Prettify(s)
3535}
3536
3537// GoString returns the string representation
3538func (s DeleteSamplingRuleOutput) GoString() string {
3539	return s.String()
3540}
3541
3542// SetSamplingRuleRecord sets the SamplingRuleRecord field's value.
3543func (s *DeleteSamplingRuleOutput) SetSamplingRuleRecord(v *SamplingRuleRecord) *DeleteSamplingRuleOutput {
3544	s.SamplingRuleRecord = v
3545	return s
3546}
3547
3548// Information about a connection between two services.
3549type Edge struct {
3550	_ struct{} `type:"structure"`
3551
3552	// Aliases for the edge.
3553	Aliases []*Alias `type:"list"`
3554
3555	// The end time of the last segment on the edge.
3556	EndTime *time.Time `type:"timestamp"`
3557
3558	// Identifier of the edge. Unique within a service map.
3559	ReferenceId *int64 `type:"integer"`
3560
3561	// A histogram that maps the spread of client response times on an edge.
3562	ResponseTimeHistogram []*HistogramEntry `type:"list"`
3563
3564	// The start time of the first segment on the edge.
3565	StartTime *time.Time `type:"timestamp"`
3566
3567	// Response statistics for segments on the edge.
3568	SummaryStatistics *EdgeStatistics `type:"structure"`
3569}
3570
3571// String returns the string representation
3572func (s Edge) String() string {
3573	return awsutil.Prettify(s)
3574}
3575
3576// GoString returns the string representation
3577func (s Edge) GoString() string {
3578	return s.String()
3579}
3580
3581// SetAliases sets the Aliases field's value.
3582func (s *Edge) SetAliases(v []*Alias) *Edge {
3583	s.Aliases = v
3584	return s
3585}
3586
3587// SetEndTime sets the EndTime field's value.
3588func (s *Edge) SetEndTime(v time.Time) *Edge {
3589	s.EndTime = &v
3590	return s
3591}
3592
3593// SetReferenceId sets the ReferenceId field's value.
3594func (s *Edge) SetReferenceId(v int64) *Edge {
3595	s.ReferenceId = &v
3596	return s
3597}
3598
3599// SetResponseTimeHistogram sets the ResponseTimeHistogram field's value.
3600func (s *Edge) SetResponseTimeHistogram(v []*HistogramEntry) *Edge {
3601	s.ResponseTimeHistogram = v
3602	return s
3603}
3604
3605// SetStartTime sets the StartTime field's value.
3606func (s *Edge) SetStartTime(v time.Time) *Edge {
3607	s.StartTime = &v
3608	return s
3609}
3610
3611// SetSummaryStatistics sets the SummaryStatistics field's value.
3612func (s *Edge) SetSummaryStatistics(v *EdgeStatistics) *Edge {
3613	s.SummaryStatistics = v
3614	return s
3615}
3616
3617// Response statistics for an edge.
3618type EdgeStatistics struct {
3619	_ struct{} `type:"structure"`
3620
3621	// Information about requests that failed with a 4xx Client Error status code.
3622	ErrorStatistics *ErrorStatistics `type:"structure"`
3623
3624	// Information about requests that failed with a 5xx Server Error status code.
3625	FaultStatistics *FaultStatistics `type:"structure"`
3626
3627	// The number of requests that completed with a 2xx Success status code.
3628	OkCount *int64 `type:"long"`
3629
3630	// The total number of completed requests.
3631	TotalCount *int64 `type:"long"`
3632
3633	// The aggregate response time of completed requests.
3634	TotalResponseTime *float64 `type:"double"`
3635}
3636
3637// String returns the string representation
3638func (s EdgeStatistics) String() string {
3639	return awsutil.Prettify(s)
3640}
3641
3642// GoString returns the string representation
3643func (s EdgeStatistics) GoString() string {
3644	return s.String()
3645}
3646
3647// SetErrorStatistics sets the ErrorStatistics field's value.
3648func (s *EdgeStatistics) SetErrorStatistics(v *ErrorStatistics) *EdgeStatistics {
3649	s.ErrorStatistics = v
3650	return s
3651}
3652
3653// SetFaultStatistics sets the FaultStatistics field's value.
3654func (s *EdgeStatistics) SetFaultStatistics(v *FaultStatistics) *EdgeStatistics {
3655	s.FaultStatistics = v
3656	return s
3657}
3658
3659// SetOkCount sets the OkCount field's value.
3660func (s *EdgeStatistics) SetOkCount(v int64) *EdgeStatistics {
3661	s.OkCount = &v
3662	return s
3663}
3664
3665// SetTotalCount sets the TotalCount field's value.
3666func (s *EdgeStatistics) SetTotalCount(v int64) *EdgeStatistics {
3667	s.TotalCount = &v
3668	return s
3669}
3670
3671// SetTotalResponseTime sets the TotalResponseTime field's value.
3672func (s *EdgeStatistics) SetTotalResponseTime(v float64) *EdgeStatistics {
3673	s.TotalResponseTime = &v
3674	return s
3675}
3676
3677// A configuration document that specifies encryption configuration settings.
3678type EncryptionConfig struct {
3679	_ struct{} `type:"structure"`
3680
3681	// The ID of the customer master key (CMK) used for encryption, if applicable.
3682	KeyId *string `type:"string"`
3683
3684	// The encryption status. While the status is UPDATING, X-Ray may encrypt data
3685	// with a combination of the new and old settings.
3686	Status *string `type:"string" enum:"EncryptionStatus"`
3687
3688	// The type of encryption. Set to KMS for encryption with CMKs. Set to NONE
3689	// for default encryption.
3690	Type *string `type:"string" enum:"EncryptionType"`
3691}
3692
3693// String returns the string representation
3694func (s EncryptionConfig) String() string {
3695	return awsutil.Prettify(s)
3696}
3697
3698// GoString returns the string representation
3699func (s EncryptionConfig) GoString() string {
3700	return s.String()
3701}
3702
3703// SetKeyId sets the KeyId field's value.
3704func (s *EncryptionConfig) SetKeyId(v string) *EncryptionConfig {
3705	s.KeyId = &v
3706	return s
3707}
3708
3709// SetStatus sets the Status field's value.
3710func (s *EncryptionConfig) SetStatus(v string) *EncryptionConfig {
3711	s.Status = &v
3712	return s
3713}
3714
3715// SetType sets the Type field's value.
3716func (s *EncryptionConfig) SetType(v string) *EncryptionConfig {
3717	s.Type = &v
3718	return s
3719}
3720
3721// The root cause of a trace summary error.
3722type ErrorRootCause struct {
3723	_ struct{} `type:"structure"`
3724
3725	// A flag that denotes that the root cause impacts the trace client.
3726	ClientImpacting *bool `type:"boolean"`
3727
3728	// A list of services corresponding to an error. A service identifies a segment
3729	// and it contains a name, account ID, type, and inferred flag.
3730	Services []*ErrorRootCauseService `type:"list"`
3731}
3732
3733// String returns the string representation
3734func (s ErrorRootCause) String() string {
3735	return awsutil.Prettify(s)
3736}
3737
3738// GoString returns the string representation
3739func (s ErrorRootCause) GoString() string {
3740	return s.String()
3741}
3742
3743// SetClientImpacting sets the ClientImpacting field's value.
3744func (s *ErrorRootCause) SetClientImpacting(v bool) *ErrorRootCause {
3745	s.ClientImpacting = &v
3746	return s
3747}
3748
3749// SetServices sets the Services field's value.
3750func (s *ErrorRootCause) SetServices(v []*ErrorRootCauseService) *ErrorRootCause {
3751	s.Services = v
3752	return s
3753}
3754
3755// A collection of segments and corresponding subsegments associated to a trace
3756// summary error.
3757type ErrorRootCauseEntity struct {
3758	_ struct{} `type:"structure"`
3759
3760	// The types and messages of the exceptions.
3761	Exceptions []*RootCauseException `type:"list"`
3762
3763	// The name of the entity.
3764	Name *string `type:"string"`
3765
3766	// A flag that denotes a remote subsegment.
3767	Remote *bool `type:"boolean"`
3768}
3769
3770// String returns the string representation
3771func (s ErrorRootCauseEntity) String() string {
3772	return awsutil.Prettify(s)
3773}
3774
3775// GoString returns the string representation
3776func (s ErrorRootCauseEntity) GoString() string {
3777	return s.String()
3778}
3779
3780// SetExceptions sets the Exceptions field's value.
3781func (s *ErrorRootCauseEntity) SetExceptions(v []*RootCauseException) *ErrorRootCauseEntity {
3782	s.Exceptions = v
3783	return s
3784}
3785
3786// SetName sets the Name field's value.
3787func (s *ErrorRootCauseEntity) SetName(v string) *ErrorRootCauseEntity {
3788	s.Name = &v
3789	return s
3790}
3791
3792// SetRemote sets the Remote field's value.
3793func (s *ErrorRootCauseEntity) SetRemote(v bool) *ErrorRootCauseEntity {
3794	s.Remote = &v
3795	return s
3796}
3797
3798// A collection of fields identifying the services in a trace summary error.
3799type ErrorRootCauseService struct {
3800	_ struct{} `type:"structure"`
3801
3802	// The account ID associated to the service.
3803	AccountId *string `type:"string"`
3804
3805	// The path of root cause entities found on the service.
3806	EntityPath []*ErrorRootCauseEntity `type:"list"`
3807
3808	// A Boolean value indicating if the service is inferred from the trace.
3809	Inferred *bool `type:"boolean"`
3810
3811	// The service name.
3812	Name *string `type:"string"`
3813
3814	// A collection of associated service names.
3815	Names []*string `type:"list"`
3816
3817	// The type associated to the service.
3818	Type *string `type:"string"`
3819}
3820
3821// String returns the string representation
3822func (s ErrorRootCauseService) String() string {
3823	return awsutil.Prettify(s)
3824}
3825
3826// GoString returns the string representation
3827func (s ErrorRootCauseService) GoString() string {
3828	return s.String()
3829}
3830
3831// SetAccountId sets the AccountId field's value.
3832func (s *ErrorRootCauseService) SetAccountId(v string) *ErrorRootCauseService {
3833	s.AccountId = &v
3834	return s
3835}
3836
3837// SetEntityPath sets the EntityPath field's value.
3838func (s *ErrorRootCauseService) SetEntityPath(v []*ErrorRootCauseEntity) *ErrorRootCauseService {
3839	s.EntityPath = v
3840	return s
3841}
3842
3843// SetInferred sets the Inferred field's value.
3844func (s *ErrorRootCauseService) SetInferred(v bool) *ErrorRootCauseService {
3845	s.Inferred = &v
3846	return s
3847}
3848
3849// SetName sets the Name field's value.
3850func (s *ErrorRootCauseService) SetName(v string) *ErrorRootCauseService {
3851	s.Name = &v
3852	return s
3853}
3854
3855// SetNames sets the Names field's value.
3856func (s *ErrorRootCauseService) SetNames(v []*string) *ErrorRootCauseService {
3857	s.Names = v
3858	return s
3859}
3860
3861// SetType sets the Type field's value.
3862func (s *ErrorRootCauseService) SetType(v string) *ErrorRootCauseService {
3863	s.Type = &v
3864	return s
3865}
3866
3867// Information about requests that failed with a 4xx Client Error status code.
3868type ErrorStatistics struct {
3869	_ struct{} `type:"structure"`
3870
3871	// The number of requests that failed with untracked 4xx Client Error status
3872	// codes.
3873	OtherCount *int64 `type:"long"`
3874
3875	// The number of requests that failed with a 419 throttling status code.
3876	ThrottleCount *int64 `type:"long"`
3877
3878	// The total number of requests that failed with a 4xx Client Error status code.
3879	TotalCount *int64 `type:"long"`
3880}
3881
3882// String returns the string representation
3883func (s ErrorStatistics) String() string {
3884	return awsutil.Prettify(s)
3885}
3886
3887// GoString returns the string representation
3888func (s ErrorStatistics) GoString() string {
3889	return s.String()
3890}
3891
3892// SetOtherCount sets the OtherCount field's value.
3893func (s *ErrorStatistics) SetOtherCount(v int64) *ErrorStatistics {
3894	s.OtherCount = &v
3895	return s
3896}
3897
3898// SetThrottleCount sets the ThrottleCount field's value.
3899func (s *ErrorStatistics) SetThrottleCount(v int64) *ErrorStatistics {
3900	s.ThrottleCount = &v
3901	return s
3902}
3903
3904// SetTotalCount sets the TotalCount field's value.
3905func (s *ErrorStatistics) SetTotalCount(v int64) *ErrorStatistics {
3906	s.TotalCount = &v
3907	return s
3908}
3909
3910// The root cause information for a trace summary fault.
3911type FaultRootCause struct {
3912	_ struct{} `type:"structure"`
3913
3914	// A flag that denotes that the root cause impacts the trace client.
3915	ClientImpacting *bool `type:"boolean"`
3916
3917	// A list of corresponding services. A service identifies a segment and it contains
3918	// a name, account ID, type, and inferred flag.
3919	Services []*FaultRootCauseService `type:"list"`
3920}
3921
3922// String returns the string representation
3923func (s FaultRootCause) String() string {
3924	return awsutil.Prettify(s)
3925}
3926
3927// GoString returns the string representation
3928func (s FaultRootCause) GoString() string {
3929	return s.String()
3930}
3931
3932// SetClientImpacting sets the ClientImpacting field's value.
3933func (s *FaultRootCause) SetClientImpacting(v bool) *FaultRootCause {
3934	s.ClientImpacting = &v
3935	return s
3936}
3937
3938// SetServices sets the Services field's value.
3939func (s *FaultRootCause) SetServices(v []*FaultRootCauseService) *FaultRootCause {
3940	s.Services = v
3941	return s
3942}
3943
3944// A collection of segments and corresponding subsegments associated to a trace
3945// summary fault error.
3946type FaultRootCauseEntity struct {
3947	_ struct{} `type:"structure"`
3948
3949	// The types and messages of the exceptions.
3950	Exceptions []*RootCauseException `type:"list"`
3951
3952	// The name of the entity.
3953	Name *string `type:"string"`
3954
3955	// A flag that denotes a remote subsegment.
3956	Remote *bool `type:"boolean"`
3957}
3958
3959// String returns the string representation
3960func (s FaultRootCauseEntity) String() string {
3961	return awsutil.Prettify(s)
3962}
3963
3964// GoString returns the string representation
3965func (s FaultRootCauseEntity) GoString() string {
3966	return s.String()
3967}
3968
3969// SetExceptions sets the Exceptions field's value.
3970func (s *FaultRootCauseEntity) SetExceptions(v []*RootCauseException) *FaultRootCauseEntity {
3971	s.Exceptions = v
3972	return s
3973}
3974
3975// SetName sets the Name field's value.
3976func (s *FaultRootCauseEntity) SetName(v string) *FaultRootCauseEntity {
3977	s.Name = &v
3978	return s
3979}
3980
3981// SetRemote sets the Remote field's value.
3982func (s *FaultRootCauseEntity) SetRemote(v bool) *FaultRootCauseEntity {
3983	s.Remote = &v
3984	return s
3985}
3986
3987// A collection of fields identifying the services in a trace summary fault.
3988type FaultRootCauseService struct {
3989	_ struct{} `type:"structure"`
3990
3991	// The account ID associated to the service.
3992	AccountId *string `type:"string"`
3993
3994	// The path of root cause entities found on the service.
3995	EntityPath []*FaultRootCauseEntity `type:"list"`
3996
3997	// A Boolean value indicating if the service is inferred from the trace.
3998	Inferred *bool `type:"boolean"`
3999
4000	// The service name.
4001	Name *string `type:"string"`
4002
4003	// A collection of associated service names.
4004	Names []*string `type:"list"`
4005
4006	// The type associated to the service.
4007	Type *string `type:"string"`
4008}
4009
4010// String returns the string representation
4011func (s FaultRootCauseService) String() string {
4012	return awsutil.Prettify(s)
4013}
4014
4015// GoString returns the string representation
4016func (s FaultRootCauseService) GoString() string {
4017	return s.String()
4018}
4019
4020// SetAccountId sets the AccountId field's value.
4021func (s *FaultRootCauseService) SetAccountId(v string) *FaultRootCauseService {
4022	s.AccountId = &v
4023	return s
4024}
4025
4026// SetEntityPath sets the EntityPath field's value.
4027func (s *FaultRootCauseService) SetEntityPath(v []*FaultRootCauseEntity) *FaultRootCauseService {
4028	s.EntityPath = v
4029	return s
4030}
4031
4032// SetInferred sets the Inferred field's value.
4033func (s *FaultRootCauseService) SetInferred(v bool) *FaultRootCauseService {
4034	s.Inferred = &v
4035	return s
4036}
4037
4038// SetName sets the Name field's value.
4039func (s *FaultRootCauseService) SetName(v string) *FaultRootCauseService {
4040	s.Name = &v
4041	return s
4042}
4043
4044// SetNames sets the Names field's value.
4045func (s *FaultRootCauseService) SetNames(v []*string) *FaultRootCauseService {
4046	s.Names = v
4047	return s
4048}
4049
4050// SetType sets the Type field's value.
4051func (s *FaultRootCauseService) SetType(v string) *FaultRootCauseService {
4052	s.Type = &v
4053	return s
4054}
4055
4056// Information about requests that failed with a 5xx Server Error status code.
4057type FaultStatistics struct {
4058	_ struct{} `type:"structure"`
4059
4060	// The number of requests that failed with untracked 5xx Server Error status
4061	// codes.
4062	OtherCount *int64 `type:"long"`
4063
4064	// The total number of requests that failed with a 5xx Server Error status code.
4065	TotalCount *int64 `type:"long"`
4066}
4067
4068// String returns the string representation
4069func (s FaultStatistics) String() string {
4070	return awsutil.Prettify(s)
4071}
4072
4073// GoString returns the string representation
4074func (s FaultStatistics) GoString() string {
4075	return s.String()
4076}
4077
4078// SetOtherCount sets the OtherCount field's value.
4079func (s *FaultStatistics) SetOtherCount(v int64) *FaultStatistics {
4080	s.OtherCount = &v
4081	return s
4082}
4083
4084// SetTotalCount sets the TotalCount field's value.
4085func (s *FaultStatistics) SetTotalCount(v int64) *FaultStatistics {
4086	s.TotalCount = &v
4087	return s
4088}
4089
4090// The predicted high and low fault count. This is used to determine if a service
4091// has become anomalous and if an insight should be created.
4092type ForecastStatistics struct {
4093	_ struct{} `type:"structure"`
4094
4095	// The upper limit of fault counts for a service.
4096	FaultCountHigh *int64 `type:"long"`
4097
4098	// The lower limit of fault counts for a service.
4099	FaultCountLow *int64 `type:"long"`
4100}
4101
4102// String returns the string representation
4103func (s ForecastStatistics) String() string {
4104	return awsutil.Prettify(s)
4105}
4106
4107// GoString returns the string representation
4108func (s ForecastStatistics) GoString() string {
4109	return s.String()
4110}
4111
4112// SetFaultCountHigh sets the FaultCountHigh field's value.
4113func (s *ForecastStatistics) SetFaultCountHigh(v int64) *ForecastStatistics {
4114	s.FaultCountHigh = &v
4115	return s
4116}
4117
4118// SetFaultCountLow sets the FaultCountLow field's value.
4119func (s *ForecastStatistics) SetFaultCountLow(v int64) *ForecastStatistics {
4120	s.FaultCountLow = &v
4121	return s
4122}
4123
4124type GetEncryptionConfigInput struct {
4125	_ struct{} `type:"structure"`
4126}
4127
4128// String returns the string representation
4129func (s GetEncryptionConfigInput) String() string {
4130	return awsutil.Prettify(s)
4131}
4132
4133// GoString returns the string representation
4134func (s GetEncryptionConfigInput) GoString() string {
4135	return s.String()
4136}
4137
4138type GetEncryptionConfigOutput struct {
4139	_ struct{} `type:"structure"`
4140
4141	// The encryption configuration document.
4142	EncryptionConfig *EncryptionConfig `type:"structure"`
4143}
4144
4145// String returns the string representation
4146func (s GetEncryptionConfigOutput) String() string {
4147	return awsutil.Prettify(s)
4148}
4149
4150// GoString returns the string representation
4151func (s GetEncryptionConfigOutput) GoString() string {
4152	return s.String()
4153}
4154
4155// SetEncryptionConfig sets the EncryptionConfig field's value.
4156func (s *GetEncryptionConfigOutput) SetEncryptionConfig(v *EncryptionConfig) *GetEncryptionConfigOutput {
4157	s.EncryptionConfig = v
4158	return s
4159}
4160
4161type GetGroupInput struct {
4162	_ struct{} `type:"structure"`
4163
4164	// The ARN of the group that was generated on creation.
4165	GroupARN *string `min:"1" type:"string"`
4166
4167	// The case-sensitive name of the group.
4168	GroupName *string `min:"1" type:"string"`
4169}
4170
4171// String returns the string representation
4172func (s GetGroupInput) String() string {
4173	return awsutil.Prettify(s)
4174}
4175
4176// GoString returns the string representation
4177func (s GetGroupInput) GoString() string {
4178	return s.String()
4179}
4180
4181// Validate inspects the fields of the type to determine if they are valid.
4182func (s *GetGroupInput) Validate() error {
4183	invalidParams := request.ErrInvalidParams{Context: "GetGroupInput"}
4184	if s.GroupARN != nil && len(*s.GroupARN) < 1 {
4185		invalidParams.Add(request.NewErrParamMinLen("GroupARN", 1))
4186	}
4187	if s.GroupName != nil && len(*s.GroupName) < 1 {
4188		invalidParams.Add(request.NewErrParamMinLen("GroupName", 1))
4189	}
4190
4191	if invalidParams.Len() > 0 {
4192		return invalidParams
4193	}
4194	return nil
4195}
4196
4197// SetGroupARN sets the GroupARN field's value.
4198func (s *GetGroupInput) SetGroupARN(v string) *GetGroupInput {
4199	s.GroupARN = &v
4200	return s
4201}
4202
4203// SetGroupName sets the GroupName field's value.
4204func (s *GetGroupInput) SetGroupName(v string) *GetGroupInput {
4205	s.GroupName = &v
4206	return s
4207}
4208
4209type GetGroupOutput struct {
4210	_ struct{} `type:"structure"`
4211
4212	// The group that was requested. Contains the name of the group, the ARN of
4213	// the group, the filter expression, and the insight configuration assigned
4214	// to the group.
4215	Group *Group `type:"structure"`
4216}
4217
4218// String returns the string representation
4219func (s GetGroupOutput) String() string {
4220	return awsutil.Prettify(s)
4221}
4222
4223// GoString returns the string representation
4224func (s GetGroupOutput) GoString() string {
4225	return s.String()
4226}
4227
4228// SetGroup sets the Group field's value.
4229func (s *GetGroupOutput) SetGroup(v *Group) *GetGroupOutput {
4230	s.Group = v
4231	return s
4232}
4233
4234type GetGroupsInput struct {
4235	_ struct{} `type:"structure"`
4236
4237	// Pagination token.
4238	NextToken *string `min:"1" type:"string"`
4239}
4240
4241// String returns the string representation
4242func (s GetGroupsInput) String() string {
4243	return awsutil.Prettify(s)
4244}
4245
4246// GoString returns the string representation
4247func (s GetGroupsInput) GoString() string {
4248	return s.String()
4249}
4250
4251// Validate inspects the fields of the type to determine if they are valid.
4252func (s *GetGroupsInput) Validate() error {
4253	invalidParams := request.ErrInvalidParams{Context: "GetGroupsInput"}
4254	if s.NextToken != nil && len(*s.NextToken) < 1 {
4255		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
4256	}
4257
4258	if invalidParams.Len() > 0 {
4259		return invalidParams
4260	}
4261	return nil
4262}
4263
4264// SetNextToken sets the NextToken field's value.
4265func (s *GetGroupsInput) SetNextToken(v string) *GetGroupsInput {
4266	s.NextToken = &v
4267	return s
4268}
4269
4270type GetGroupsOutput struct {
4271	_ struct{} `type:"structure"`
4272
4273	// The collection of all active groups.
4274	Groups []*GroupSummary `type:"list"`
4275
4276	// Pagination token.
4277	NextToken *string `type:"string"`
4278}
4279
4280// String returns the string representation
4281func (s GetGroupsOutput) String() string {
4282	return awsutil.Prettify(s)
4283}
4284
4285// GoString returns the string representation
4286func (s GetGroupsOutput) GoString() string {
4287	return s.String()
4288}
4289
4290// SetGroups sets the Groups field's value.
4291func (s *GetGroupsOutput) SetGroups(v []*GroupSummary) *GetGroupsOutput {
4292	s.Groups = v
4293	return s
4294}
4295
4296// SetNextToken sets the NextToken field's value.
4297func (s *GetGroupsOutput) SetNextToken(v string) *GetGroupsOutput {
4298	s.NextToken = &v
4299	return s
4300}
4301
4302type GetInsightEventsInput struct {
4303	_ struct{} `type:"structure"`
4304
4305	// The insight's unique identifier. Use the GetInsightSummaries action to retrieve
4306	// an InsightId.
4307	//
4308	// InsightId is a required field
4309	InsightId *string `type:"string" required:"true"`
4310
4311	// Used to retrieve at most the specified value of events.
4312	MaxResults *int64 `min:"1" type:"integer"`
4313
4314	// Specify the pagination token returned by a previous request to retrieve the
4315	// next page of events.
4316	NextToken *string `min:"1" type:"string"`
4317}
4318
4319// String returns the string representation
4320func (s GetInsightEventsInput) String() string {
4321	return awsutil.Prettify(s)
4322}
4323
4324// GoString returns the string representation
4325func (s GetInsightEventsInput) GoString() string {
4326	return s.String()
4327}
4328
4329// Validate inspects the fields of the type to determine if they are valid.
4330func (s *GetInsightEventsInput) Validate() error {
4331	invalidParams := request.ErrInvalidParams{Context: "GetInsightEventsInput"}
4332	if s.InsightId == nil {
4333		invalidParams.Add(request.NewErrParamRequired("InsightId"))
4334	}
4335	if s.MaxResults != nil && *s.MaxResults < 1 {
4336		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
4337	}
4338	if s.NextToken != nil && len(*s.NextToken) < 1 {
4339		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
4340	}
4341
4342	if invalidParams.Len() > 0 {
4343		return invalidParams
4344	}
4345	return nil
4346}
4347
4348// SetInsightId sets the InsightId field's value.
4349func (s *GetInsightEventsInput) SetInsightId(v string) *GetInsightEventsInput {
4350	s.InsightId = &v
4351	return s
4352}
4353
4354// SetMaxResults sets the MaxResults field's value.
4355func (s *GetInsightEventsInput) SetMaxResults(v int64) *GetInsightEventsInput {
4356	s.MaxResults = &v
4357	return s
4358}
4359
4360// SetNextToken sets the NextToken field's value.
4361func (s *GetInsightEventsInput) SetNextToken(v string) *GetInsightEventsInput {
4362	s.NextToken = &v
4363	return s
4364}
4365
4366type GetInsightEventsOutput struct {
4367	_ struct{} `type:"structure"`
4368
4369	// A detailed description of the event. This includes the time of the event,
4370	// client and root cause impact statistics, and the top anomalous service at
4371	// the time of the event.
4372	InsightEvents []*InsightEvent `type:"list"`
4373
4374	// Use this token to retrieve the next page of insight events.
4375	NextToken *string `min:"1" type:"string"`
4376}
4377
4378// String returns the string representation
4379func (s GetInsightEventsOutput) String() string {
4380	return awsutil.Prettify(s)
4381}
4382
4383// GoString returns the string representation
4384func (s GetInsightEventsOutput) GoString() string {
4385	return s.String()
4386}
4387
4388// SetInsightEvents sets the InsightEvents field's value.
4389func (s *GetInsightEventsOutput) SetInsightEvents(v []*InsightEvent) *GetInsightEventsOutput {
4390	s.InsightEvents = v
4391	return s
4392}
4393
4394// SetNextToken sets the NextToken field's value.
4395func (s *GetInsightEventsOutput) SetNextToken(v string) *GetInsightEventsOutput {
4396	s.NextToken = &v
4397	return s
4398}
4399
4400type GetInsightImpactGraphInput struct {
4401	_ struct{} `type:"structure"`
4402
4403	// The estimated end time of the insight, in Unix time seconds. The EndTime
4404	// is exclusive of the value provided. The time range between the start time
4405	// and end time can't be more than six hours.
4406	//
4407	// EndTime is a required field
4408	EndTime *time.Time `type:"timestamp" required:"true"`
4409
4410	// The insight's unique identifier. Use the GetInsightSummaries action to retrieve
4411	// an InsightId.
4412	//
4413	// InsightId is a required field
4414	InsightId *string `type:"string" required:"true"`
4415
4416	// Specify the pagination token returned by a previous request to retrieve the
4417	// next page of results.
4418	NextToken *string `min:"1" type:"string"`
4419
4420	// The estimated start time of the insight, in Unix time seconds. The StartTime
4421	// is inclusive of the value provided and can't be more than 30 days old.
4422	//
4423	// StartTime is a required field
4424	StartTime *time.Time `type:"timestamp" required:"true"`
4425}
4426
4427// String returns the string representation
4428func (s GetInsightImpactGraphInput) String() string {
4429	return awsutil.Prettify(s)
4430}
4431
4432// GoString returns the string representation
4433func (s GetInsightImpactGraphInput) GoString() string {
4434	return s.String()
4435}
4436
4437// Validate inspects the fields of the type to determine if they are valid.
4438func (s *GetInsightImpactGraphInput) Validate() error {
4439	invalidParams := request.ErrInvalidParams{Context: "GetInsightImpactGraphInput"}
4440	if s.EndTime == nil {
4441		invalidParams.Add(request.NewErrParamRequired("EndTime"))
4442	}
4443	if s.InsightId == nil {
4444		invalidParams.Add(request.NewErrParamRequired("InsightId"))
4445	}
4446	if s.NextToken != nil && len(*s.NextToken) < 1 {
4447		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
4448	}
4449	if s.StartTime == nil {
4450		invalidParams.Add(request.NewErrParamRequired("StartTime"))
4451	}
4452
4453	if invalidParams.Len() > 0 {
4454		return invalidParams
4455	}
4456	return nil
4457}
4458
4459// SetEndTime sets the EndTime field's value.
4460func (s *GetInsightImpactGraphInput) SetEndTime(v time.Time) *GetInsightImpactGraphInput {
4461	s.EndTime = &v
4462	return s
4463}
4464
4465// SetInsightId sets the InsightId field's value.
4466func (s *GetInsightImpactGraphInput) SetInsightId(v string) *GetInsightImpactGraphInput {
4467	s.InsightId = &v
4468	return s
4469}
4470
4471// SetNextToken sets the NextToken field's value.
4472func (s *GetInsightImpactGraphInput) SetNextToken(v string) *GetInsightImpactGraphInput {
4473	s.NextToken = &v
4474	return s
4475}
4476
4477// SetStartTime sets the StartTime field's value.
4478func (s *GetInsightImpactGraphInput) SetStartTime(v time.Time) *GetInsightImpactGraphInput {
4479	s.StartTime = &v
4480	return s
4481}
4482
4483type GetInsightImpactGraphOutput struct {
4484	_ struct{} `type:"structure"`
4485
4486	// The provided end time.
4487	EndTime *time.Time `type:"timestamp"`
4488
4489	// The insight's unique identifier.
4490	InsightId *string `type:"string"`
4491
4492	// Pagination token.
4493	NextToken *string `min:"1" type:"string"`
4494
4495	// The time, in Unix seconds, at which the service graph ended.
4496	ServiceGraphEndTime *time.Time `type:"timestamp"`
4497
4498	// The time, in Unix seconds, at which the service graph started.
4499	ServiceGraphStartTime *time.Time `type:"timestamp"`
4500
4501	// The AWS instrumented services related to the insight.
4502	Services []*InsightImpactGraphService `type:"list"`
4503
4504	// The provided start time.
4505	StartTime *time.Time `type:"timestamp"`
4506}
4507
4508// String returns the string representation
4509func (s GetInsightImpactGraphOutput) String() string {
4510	return awsutil.Prettify(s)
4511}
4512
4513// GoString returns the string representation
4514func (s GetInsightImpactGraphOutput) GoString() string {
4515	return s.String()
4516}
4517
4518// SetEndTime sets the EndTime field's value.
4519func (s *GetInsightImpactGraphOutput) SetEndTime(v time.Time) *GetInsightImpactGraphOutput {
4520	s.EndTime = &v
4521	return s
4522}
4523
4524// SetInsightId sets the InsightId field's value.
4525func (s *GetInsightImpactGraphOutput) SetInsightId(v string) *GetInsightImpactGraphOutput {
4526	s.InsightId = &v
4527	return s
4528}
4529
4530// SetNextToken sets the NextToken field's value.
4531func (s *GetInsightImpactGraphOutput) SetNextToken(v string) *GetInsightImpactGraphOutput {
4532	s.NextToken = &v
4533	return s
4534}
4535
4536// SetServiceGraphEndTime sets the ServiceGraphEndTime field's value.
4537func (s *GetInsightImpactGraphOutput) SetServiceGraphEndTime(v time.Time) *GetInsightImpactGraphOutput {
4538	s.ServiceGraphEndTime = &v
4539	return s
4540}
4541
4542// SetServiceGraphStartTime sets the ServiceGraphStartTime field's value.
4543func (s *GetInsightImpactGraphOutput) SetServiceGraphStartTime(v time.Time) *GetInsightImpactGraphOutput {
4544	s.ServiceGraphStartTime = &v
4545	return s
4546}
4547
4548// SetServices sets the Services field's value.
4549func (s *GetInsightImpactGraphOutput) SetServices(v []*InsightImpactGraphService) *GetInsightImpactGraphOutput {
4550	s.Services = v
4551	return s
4552}
4553
4554// SetStartTime sets the StartTime field's value.
4555func (s *GetInsightImpactGraphOutput) SetStartTime(v time.Time) *GetInsightImpactGraphOutput {
4556	s.StartTime = &v
4557	return s
4558}
4559
4560type GetInsightInput struct {
4561	_ struct{} `type:"structure"`
4562
4563	// The insight's unique identifier. Use the GetInsightSummaries action to retrieve
4564	// an InsightId.
4565	//
4566	// InsightId is a required field
4567	InsightId *string `type:"string" required:"true"`
4568}
4569
4570// String returns the string representation
4571func (s GetInsightInput) String() string {
4572	return awsutil.Prettify(s)
4573}
4574
4575// GoString returns the string representation
4576func (s GetInsightInput) GoString() string {
4577	return s.String()
4578}
4579
4580// Validate inspects the fields of the type to determine if they are valid.
4581func (s *GetInsightInput) Validate() error {
4582	invalidParams := request.ErrInvalidParams{Context: "GetInsightInput"}
4583	if s.InsightId == nil {
4584		invalidParams.Add(request.NewErrParamRequired("InsightId"))
4585	}
4586
4587	if invalidParams.Len() > 0 {
4588		return invalidParams
4589	}
4590	return nil
4591}
4592
4593// SetInsightId sets the InsightId field's value.
4594func (s *GetInsightInput) SetInsightId(v string) *GetInsightInput {
4595	s.InsightId = &v
4596	return s
4597}
4598
4599type GetInsightOutput struct {
4600	_ struct{} `type:"structure"`
4601
4602	// The summary information of an insight.
4603	Insight *Insight `type:"structure"`
4604}
4605
4606// String returns the string representation
4607func (s GetInsightOutput) String() string {
4608	return awsutil.Prettify(s)
4609}
4610
4611// GoString returns the string representation
4612func (s GetInsightOutput) GoString() string {
4613	return s.String()
4614}
4615
4616// SetInsight sets the Insight field's value.
4617func (s *GetInsightOutput) SetInsight(v *Insight) *GetInsightOutput {
4618	s.Insight = v
4619	return s
4620}
4621
4622type GetInsightSummariesInput struct {
4623	_ struct{} `type:"structure"`
4624
4625	// The end of the time frame in which the insights ended. The end time can't
4626	// be more than 30 days old.
4627	//
4628	// EndTime is a required field
4629	EndTime *time.Time `type:"timestamp" required:"true"`
4630
4631	// The Amazon Resource Name (ARN) of the group. Required if the GroupName isn't
4632	// provided.
4633	GroupARN *string `min:"1" type:"string"`
4634
4635	// The name of the group. Required if the GroupARN isn't provided.
4636	GroupName *string `min:"1" type:"string"`
4637
4638	// The maximum number of results to display.
4639	MaxResults *int64 `min:"1" type:"integer"`
4640
4641	// Pagination token.
4642	NextToken *string `min:"1" type:"string"`
4643
4644	// The beginning of the time frame in which the insights started. The start
4645	// time can't be more than 30 days old.
4646	//
4647	// StartTime is a required field
4648	StartTime *time.Time `type:"timestamp" required:"true"`
4649
4650	// The list of insight states.
4651	States []*string `type:"list"`
4652}
4653
4654// String returns the string representation
4655func (s GetInsightSummariesInput) String() string {
4656	return awsutil.Prettify(s)
4657}
4658
4659// GoString returns the string representation
4660func (s GetInsightSummariesInput) GoString() string {
4661	return s.String()
4662}
4663
4664// Validate inspects the fields of the type to determine if they are valid.
4665func (s *GetInsightSummariesInput) Validate() error {
4666	invalidParams := request.ErrInvalidParams{Context: "GetInsightSummariesInput"}
4667	if s.EndTime == nil {
4668		invalidParams.Add(request.NewErrParamRequired("EndTime"))
4669	}
4670	if s.GroupARN != nil && len(*s.GroupARN) < 1 {
4671		invalidParams.Add(request.NewErrParamMinLen("GroupARN", 1))
4672	}
4673	if s.GroupName != nil && len(*s.GroupName) < 1 {
4674		invalidParams.Add(request.NewErrParamMinLen("GroupName", 1))
4675	}
4676	if s.MaxResults != nil && *s.MaxResults < 1 {
4677		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
4678	}
4679	if s.NextToken != nil && len(*s.NextToken) < 1 {
4680		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
4681	}
4682	if s.StartTime == nil {
4683		invalidParams.Add(request.NewErrParamRequired("StartTime"))
4684	}
4685
4686	if invalidParams.Len() > 0 {
4687		return invalidParams
4688	}
4689	return nil
4690}
4691
4692// SetEndTime sets the EndTime field's value.
4693func (s *GetInsightSummariesInput) SetEndTime(v time.Time) *GetInsightSummariesInput {
4694	s.EndTime = &v
4695	return s
4696}
4697
4698// SetGroupARN sets the GroupARN field's value.
4699func (s *GetInsightSummariesInput) SetGroupARN(v string) *GetInsightSummariesInput {
4700	s.GroupARN = &v
4701	return s
4702}
4703
4704// SetGroupName sets the GroupName field's value.
4705func (s *GetInsightSummariesInput) SetGroupName(v string) *GetInsightSummariesInput {
4706	s.GroupName = &v
4707	return s
4708}
4709
4710// SetMaxResults sets the MaxResults field's value.
4711func (s *GetInsightSummariesInput) SetMaxResults(v int64) *GetInsightSummariesInput {
4712	s.MaxResults = &v
4713	return s
4714}
4715
4716// SetNextToken sets the NextToken field's value.
4717func (s *GetInsightSummariesInput) SetNextToken(v string) *GetInsightSummariesInput {
4718	s.NextToken = &v
4719	return s
4720}
4721
4722// SetStartTime sets the StartTime field's value.
4723func (s *GetInsightSummariesInput) SetStartTime(v time.Time) *GetInsightSummariesInput {
4724	s.StartTime = &v
4725	return s
4726}
4727
4728// SetStates sets the States field's value.
4729func (s *GetInsightSummariesInput) SetStates(v []*string) *GetInsightSummariesInput {
4730	s.States = v
4731	return s
4732}
4733
4734type GetInsightSummariesOutput struct {
4735	_ struct{} `type:"structure"`
4736
4737	// The summary of each insight within the group matching the provided filters.
4738	// The summary contains the InsightID, start and end time, the root cause service,
4739	// the root cause and client impact statistics, the top anomalous services,
4740	// and the status of the insight.
4741	InsightSummaries []*InsightSummary `type:"list"`
4742
4743	// Pagination token.
4744	NextToken *string `min:"1" type:"string"`
4745}
4746
4747// String returns the string representation
4748func (s GetInsightSummariesOutput) String() string {
4749	return awsutil.Prettify(s)
4750}
4751
4752// GoString returns the string representation
4753func (s GetInsightSummariesOutput) GoString() string {
4754	return s.String()
4755}
4756
4757// SetInsightSummaries sets the InsightSummaries field's value.
4758func (s *GetInsightSummariesOutput) SetInsightSummaries(v []*InsightSummary) *GetInsightSummariesOutput {
4759	s.InsightSummaries = v
4760	return s
4761}
4762
4763// SetNextToken sets the NextToken field's value.
4764func (s *GetInsightSummariesOutput) SetNextToken(v string) *GetInsightSummariesOutput {
4765	s.NextToken = &v
4766	return s
4767}
4768
4769type GetSamplingRulesInput struct {
4770	_ struct{} `type:"structure"`
4771
4772	// Pagination token.
4773	NextToken *string `type:"string"`
4774}
4775
4776// String returns the string representation
4777func (s GetSamplingRulesInput) String() string {
4778	return awsutil.Prettify(s)
4779}
4780
4781// GoString returns the string representation
4782func (s GetSamplingRulesInput) GoString() string {
4783	return s.String()
4784}
4785
4786// SetNextToken sets the NextToken field's value.
4787func (s *GetSamplingRulesInput) SetNextToken(v string) *GetSamplingRulesInput {
4788	s.NextToken = &v
4789	return s
4790}
4791
4792type GetSamplingRulesOutput struct {
4793	_ struct{} `type:"structure"`
4794
4795	// Pagination token.
4796	NextToken *string `type:"string"`
4797
4798	// Rule definitions and metadata.
4799	SamplingRuleRecords []*SamplingRuleRecord `type:"list"`
4800}
4801
4802// String returns the string representation
4803func (s GetSamplingRulesOutput) String() string {
4804	return awsutil.Prettify(s)
4805}
4806
4807// GoString returns the string representation
4808func (s GetSamplingRulesOutput) GoString() string {
4809	return s.String()
4810}
4811
4812// SetNextToken sets the NextToken field's value.
4813func (s *GetSamplingRulesOutput) SetNextToken(v string) *GetSamplingRulesOutput {
4814	s.NextToken = &v
4815	return s
4816}
4817
4818// SetSamplingRuleRecords sets the SamplingRuleRecords field's value.
4819func (s *GetSamplingRulesOutput) SetSamplingRuleRecords(v []*SamplingRuleRecord) *GetSamplingRulesOutput {
4820	s.SamplingRuleRecords = v
4821	return s
4822}
4823
4824type GetSamplingStatisticSummariesInput struct {
4825	_ struct{} `type:"structure"`
4826
4827	// Pagination token.
4828	NextToken *string `type:"string"`
4829}
4830
4831// String returns the string representation
4832func (s GetSamplingStatisticSummariesInput) String() string {
4833	return awsutil.Prettify(s)
4834}
4835
4836// GoString returns the string representation
4837func (s GetSamplingStatisticSummariesInput) GoString() string {
4838	return s.String()
4839}
4840
4841// SetNextToken sets the NextToken field's value.
4842func (s *GetSamplingStatisticSummariesInput) SetNextToken(v string) *GetSamplingStatisticSummariesInput {
4843	s.NextToken = &v
4844	return s
4845}
4846
4847type GetSamplingStatisticSummariesOutput struct {
4848	_ struct{} `type:"structure"`
4849
4850	// Pagination token.
4851	NextToken *string `type:"string"`
4852
4853	// Information about the number of requests instrumented for each sampling rule.
4854	SamplingStatisticSummaries []*SamplingStatisticSummary `type:"list"`
4855}
4856
4857// String returns the string representation
4858func (s GetSamplingStatisticSummariesOutput) String() string {
4859	return awsutil.Prettify(s)
4860}
4861
4862// GoString returns the string representation
4863func (s GetSamplingStatisticSummariesOutput) GoString() string {
4864	return s.String()
4865}
4866
4867// SetNextToken sets the NextToken field's value.
4868func (s *GetSamplingStatisticSummariesOutput) SetNextToken(v string) *GetSamplingStatisticSummariesOutput {
4869	s.NextToken = &v
4870	return s
4871}
4872
4873// SetSamplingStatisticSummaries sets the SamplingStatisticSummaries field's value.
4874func (s *GetSamplingStatisticSummariesOutput) SetSamplingStatisticSummaries(v []*SamplingStatisticSummary) *GetSamplingStatisticSummariesOutput {
4875	s.SamplingStatisticSummaries = v
4876	return s
4877}
4878
4879type GetSamplingTargetsInput struct {
4880	_ struct{} `type:"structure"`
4881
4882	// Information about rules that the service is using to sample requests.
4883	//
4884	// SamplingStatisticsDocuments is a required field
4885	SamplingStatisticsDocuments []*SamplingStatisticsDocument `type:"list" required:"true"`
4886}
4887
4888// String returns the string representation
4889func (s GetSamplingTargetsInput) String() string {
4890	return awsutil.Prettify(s)
4891}
4892
4893// GoString returns the string representation
4894func (s GetSamplingTargetsInput) GoString() string {
4895	return s.String()
4896}
4897
4898// Validate inspects the fields of the type to determine if they are valid.
4899func (s *GetSamplingTargetsInput) Validate() error {
4900	invalidParams := request.ErrInvalidParams{Context: "GetSamplingTargetsInput"}
4901	if s.SamplingStatisticsDocuments == nil {
4902		invalidParams.Add(request.NewErrParamRequired("SamplingStatisticsDocuments"))
4903	}
4904	if s.SamplingStatisticsDocuments != nil {
4905		for i, v := range s.SamplingStatisticsDocuments {
4906			if v == nil {
4907				continue
4908			}
4909			if err := v.Validate(); err != nil {
4910				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SamplingStatisticsDocuments", i), err.(request.ErrInvalidParams))
4911			}
4912		}
4913	}
4914
4915	if invalidParams.Len() > 0 {
4916		return invalidParams
4917	}
4918	return nil
4919}
4920
4921// SetSamplingStatisticsDocuments sets the SamplingStatisticsDocuments field's value.
4922func (s *GetSamplingTargetsInput) SetSamplingStatisticsDocuments(v []*SamplingStatisticsDocument) *GetSamplingTargetsInput {
4923	s.SamplingStatisticsDocuments = v
4924	return s
4925}
4926
4927type GetSamplingTargetsOutput struct {
4928	_ struct{} `type:"structure"`
4929
4930	// The last time a user changed the sampling rule configuration. If the sampling
4931	// rule configuration changed since the service last retrieved it, the service
4932	// should call GetSamplingRules to get the latest version.
4933	LastRuleModification *time.Time `type:"timestamp"`
4934
4935	// Updated rules that the service should use to sample requests.
4936	SamplingTargetDocuments []*SamplingTargetDocument `type:"list"`
4937
4938	// Information about SamplingStatisticsDocument that X-Ray could not process.
4939	UnprocessedStatistics []*UnprocessedStatistics `type:"list"`
4940}
4941
4942// String returns the string representation
4943func (s GetSamplingTargetsOutput) String() string {
4944	return awsutil.Prettify(s)
4945}
4946
4947// GoString returns the string representation
4948func (s GetSamplingTargetsOutput) GoString() string {
4949	return s.String()
4950}
4951
4952// SetLastRuleModification sets the LastRuleModification field's value.
4953func (s *GetSamplingTargetsOutput) SetLastRuleModification(v time.Time) *GetSamplingTargetsOutput {
4954	s.LastRuleModification = &v
4955	return s
4956}
4957
4958// SetSamplingTargetDocuments sets the SamplingTargetDocuments field's value.
4959func (s *GetSamplingTargetsOutput) SetSamplingTargetDocuments(v []*SamplingTargetDocument) *GetSamplingTargetsOutput {
4960	s.SamplingTargetDocuments = v
4961	return s
4962}
4963
4964// SetUnprocessedStatistics sets the UnprocessedStatistics field's value.
4965func (s *GetSamplingTargetsOutput) SetUnprocessedStatistics(v []*UnprocessedStatistics) *GetSamplingTargetsOutput {
4966	s.UnprocessedStatistics = v
4967	return s
4968}
4969
4970type GetServiceGraphInput struct {
4971	_ struct{} `type:"structure"`
4972
4973	// The end of the timeframe for which to generate a graph.
4974	//
4975	// EndTime is a required field
4976	EndTime *time.Time `type:"timestamp" required:"true"`
4977
4978	// The Amazon Resource Name (ARN) of a group based on which you want to generate
4979	// a graph.
4980	GroupARN *string `min:"1" type:"string"`
4981
4982	// The name of a group based on which you want to generate a graph.
4983	GroupName *string `min:"1" type:"string"`
4984
4985	// Pagination token.
4986	NextToken *string `type:"string"`
4987
4988	// The start of the time frame for which to generate a graph.
4989	//
4990	// StartTime is a required field
4991	StartTime *time.Time `type:"timestamp" required:"true"`
4992}
4993
4994// String returns the string representation
4995func (s GetServiceGraphInput) String() string {
4996	return awsutil.Prettify(s)
4997}
4998
4999// GoString returns the string representation
5000func (s GetServiceGraphInput) GoString() string {
5001	return s.String()
5002}
5003
5004// Validate inspects the fields of the type to determine if they are valid.
5005func (s *GetServiceGraphInput) Validate() error {
5006	invalidParams := request.ErrInvalidParams{Context: "GetServiceGraphInput"}
5007	if s.EndTime == nil {
5008		invalidParams.Add(request.NewErrParamRequired("EndTime"))
5009	}
5010	if s.GroupARN != nil && len(*s.GroupARN) < 1 {
5011		invalidParams.Add(request.NewErrParamMinLen("GroupARN", 1))
5012	}
5013	if s.GroupName != nil && len(*s.GroupName) < 1 {
5014		invalidParams.Add(request.NewErrParamMinLen("GroupName", 1))
5015	}
5016	if s.StartTime == nil {
5017		invalidParams.Add(request.NewErrParamRequired("StartTime"))
5018	}
5019
5020	if invalidParams.Len() > 0 {
5021		return invalidParams
5022	}
5023	return nil
5024}
5025
5026// SetEndTime sets the EndTime field's value.
5027func (s *GetServiceGraphInput) SetEndTime(v time.Time) *GetServiceGraphInput {
5028	s.EndTime = &v
5029	return s
5030}
5031
5032// SetGroupARN sets the GroupARN field's value.
5033func (s *GetServiceGraphInput) SetGroupARN(v string) *GetServiceGraphInput {
5034	s.GroupARN = &v
5035	return s
5036}
5037
5038// SetGroupName sets the GroupName field's value.
5039func (s *GetServiceGraphInput) SetGroupName(v string) *GetServiceGraphInput {
5040	s.GroupName = &v
5041	return s
5042}
5043
5044// SetNextToken sets the NextToken field's value.
5045func (s *GetServiceGraphInput) SetNextToken(v string) *GetServiceGraphInput {
5046	s.NextToken = &v
5047	return s
5048}
5049
5050// SetStartTime sets the StartTime field's value.
5051func (s *GetServiceGraphInput) SetStartTime(v time.Time) *GetServiceGraphInput {
5052	s.StartTime = &v
5053	return s
5054}
5055
5056type GetServiceGraphOutput struct {
5057	_ struct{} `type:"structure"`
5058
5059	// A flag indicating whether the group's filter expression has been consistent,
5060	// or if the returned service graph may show traces from an older version of
5061	// the group's filter expression.
5062	ContainsOldGroupVersions *bool `type:"boolean"`
5063
5064	// The end of the time frame for which the graph was generated.
5065	EndTime *time.Time `type:"timestamp"`
5066
5067	// Pagination token.
5068	NextToken *string `type:"string"`
5069
5070	// The services that have processed a traced request during the specified time
5071	// frame.
5072	Services []*Service `type:"list"`
5073
5074	// The start of the time frame for which the graph was generated.
5075	StartTime *time.Time `type:"timestamp"`
5076}
5077
5078// String returns the string representation
5079func (s GetServiceGraphOutput) String() string {
5080	return awsutil.Prettify(s)
5081}
5082
5083// GoString returns the string representation
5084func (s GetServiceGraphOutput) GoString() string {
5085	return s.String()
5086}
5087
5088// SetContainsOldGroupVersions sets the ContainsOldGroupVersions field's value.
5089func (s *GetServiceGraphOutput) SetContainsOldGroupVersions(v bool) *GetServiceGraphOutput {
5090	s.ContainsOldGroupVersions = &v
5091	return s
5092}
5093
5094// SetEndTime sets the EndTime field's value.
5095func (s *GetServiceGraphOutput) SetEndTime(v time.Time) *GetServiceGraphOutput {
5096	s.EndTime = &v
5097	return s
5098}
5099
5100// SetNextToken sets the NextToken field's value.
5101func (s *GetServiceGraphOutput) SetNextToken(v string) *GetServiceGraphOutput {
5102	s.NextToken = &v
5103	return s
5104}
5105
5106// SetServices sets the Services field's value.
5107func (s *GetServiceGraphOutput) SetServices(v []*Service) *GetServiceGraphOutput {
5108	s.Services = v
5109	return s
5110}
5111
5112// SetStartTime sets the StartTime field's value.
5113func (s *GetServiceGraphOutput) SetStartTime(v time.Time) *GetServiceGraphOutput {
5114	s.StartTime = &v
5115	return s
5116}
5117
5118type GetTimeSeriesServiceStatisticsInput struct {
5119	_ struct{} `type:"structure"`
5120
5121	// The end of the time frame for which to aggregate statistics.
5122	//
5123	// EndTime is a required field
5124	EndTime *time.Time `type:"timestamp" required:"true"`
5125
5126	// A filter expression defining entities that will be aggregated for statistics.
5127	// Supports ID, service, and edge functions. If no selector expression is specified,
5128	// edge statistics are returned.
5129	EntitySelectorExpression *string `min:"1" type:"string"`
5130
5131	// The forecasted high and low fault count values. Forecast enabled requests
5132	// require the EntitySelectorExpression ID be provided.
5133	ForecastStatistics *bool `type:"boolean"`
5134
5135	// The Amazon Resource Name (ARN) of the group for which to pull statistics
5136	// from.
5137	GroupARN *string `min:"1" type:"string"`
5138
5139	// The case-sensitive name of the group for which to pull statistics from.
5140	GroupName *string `min:"1" type:"string"`
5141
5142	// Pagination token.
5143	NextToken *string `type:"string"`
5144
5145	// Aggregation period in seconds.
5146	Period *int64 `type:"integer"`
5147
5148	// The start of the time frame for which to aggregate statistics.
5149	//
5150	// StartTime is a required field
5151	StartTime *time.Time `type:"timestamp" required:"true"`
5152}
5153
5154// String returns the string representation
5155func (s GetTimeSeriesServiceStatisticsInput) String() string {
5156	return awsutil.Prettify(s)
5157}
5158
5159// GoString returns the string representation
5160func (s GetTimeSeriesServiceStatisticsInput) GoString() string {
5161	return s.String()
5162}
5163
5164// Validate inspects the fields of the type to determine if they are valid.
5165func (s *GetTimeSeriesServiceStatisticsInput) Validate() error {
5166	invalidParams := request.ErrInvalidParams{Context: "GetTimeSeriesServiceStatisticsInput"}
5167	if s.EndTime == nil {
5168		invalidParams.Add(request.NewErrParamRequired("EndTime"))
5169	}
5170	if s.EntitySelectorExpression != nil && len(*s.EntitySelectorExpression) < 1 {
5171		invalidParams.Add(request.NewErrParamMinLen("EntitySelectorExpression", 1))
5172	}
5173	if s.GroupARN != nil && len(*s.GroupARN) < 1 {
5174		invalidParams.Add(request.NewErrParamMinLen("GroupARN", 1))
5175	}
5176	if s.GroupName != nil && len(*s.GroupName) < 1 {
5177		invalidParams.Add(request.NewErrParamMinLen("GroupName", 1))
5178	}
5179	if s.StartTime == nil {
5180		invalidParams.Add(request.NewErrParamRequired("StartTime"))
5181	}
5182
5183	if invalidParams.Len() > 0 {
5184		return invalidParams
5185	}
5186	return nil
5187}
5188
5189// SetEndTime sets the EndTime field's value.
5190func (s *GetTimeSeriesServiceStatisticsInput) SetEndTime(v time.Time) *GetTimeSeriesServiceStatisticsInput {
5191	s.EndTime = &v
5192	return s
5193}
5194
5195// SetEntitySelectorExpression sets the EntitySelectorExpression field's value.
5196func (s *GetTimeSeriesServiceStatisticsInput) SetEntitySelectorExpression(v string) *GetTimeSeriesServiceStatisticsInput {
5197	s.EntitySelectorExpression = &v
5198	return s
5199}
5200
5201// SetForecastStatistics sets the ForecastStatistics field's value.
5202func (s *GetTimeSeriesServiceStatisticsInput) SetForecastStatistics(v bool) *GetTimeSeriesServiceStatisticsInput {
5203	s.ForecastStatistics = &v
5204	return s
5205}
5206
5207// SetGroupARN sets the GroupARN field's value.
5208func (s *GetTimeSeriesServiceStatisticsInput) SetGroupARN(v string) *GetTimeSeriesServiceStatisticsInput {
5209	s.GroupARN = &v
5210	return s
5211}
5212
5213// SetGroupName sets the GroupName field's value.
5214func (s *GetTimeSeriesServiceStatisticsInput) SetGroupName(v string) *GetTimeSeriesServiceStatisticsInput {
5215	s.GroupName = &v
5216	return s
5217}
5218
5219// SetNextToken sets the NextToken field's value.
5220func (s *GetTimeSeriesServiceStatisticsInput) SetNextToken(v string) *GetTimeSeriesServiceStatisticsInput {
5221	s.NextToken = &v
5222	return s
5223}
5224
5225// SetPeriod sets the Period field's value.
5226func (s *GetTimeSeriesServiceStatisticsInput) SetPeriod(v int64) *GetTimeSeriesServiceStatisticsInput {
5227	s.Period = &v
5228	return s
5229}
5230
5231// SetStartTime sets the StartTime field's value.
5232func (s *GetTimeSeriesServiceStatisticsInput) SetStartTime(v time.Time) *GetTimeSeriesServiceStatisticsInput {
5233	s.StartTime = &v
5234	return s
5235}
5236
5237type GetTimeSeriesServiceStatisticsOutput struct {
5238	_ struct{} `type:"structure"`
5239
5240	// A flag indicating whether or not a group's filter expression has been consistent,
5241	// or if a returned aggregation might show statistics from an older version
5242	// of the group's filter expression.
5243	ContainsOldGroupVersions *bool `type:"boolean"`
5244
5245	// Pagination token.
5246	NextToken *string `type:"string"`
5247
5248	// The collection of statistics.
5249	TimeSeriesServiceStatistics []*TimeSeriesServiceStatistics `type:"list"`
5250}
5251
5252// String returns the string representation
5253func (s GetTimeSeriesServiceStatisticsOutput) String() string {
5254	return awsutil.Prettify(s)
5255}
5256
5257// GoString returns the string representation
5258func (s GetTimeSeriesServiceStatisticsOutput) GoString() string {
5259	return s.String()
5260}
5261
5262// SetContainsOldGroupVersions sets the ContainsOldGroupVersions field's value.
5263func (s *GetTimeSeriesServiceStatisticsOutput) SetContainsOldGroupVersions(v bool) *GetTimeSeriesServiceStatisticsOutput {
5264	s.ContainsOldGroupVersions = &v
5265	return s
5266}
5267
5268// SetNextToken sets the NextToken field's value.
5269func (s *GetTimeSeriesServiceStatisticsOutput) SetNextToken(v string) *GetTimeSeriesServiceStatisticsOutput {
5270	s.NextToken = &v
5271	return s
5272}
5273
5274// SetTimeSeriesServiceStatistics sets the TimeSeriesServiceStatistics field's value.
5275func (s *GetTimeSeriesServiceStatisticsOutput) SetTimeSeriesServiceStatistics(v []*TimeSeriesServiceStatistics) *GetTimeSeriesServiceStatisticsOutput {
5276	s.TimeSeriesServiceStatistics = v
5277	return s
5278}
5279
5280type GetTraceGraphInput struct {
5281	_ struct{} `type:"structure"`
5282
5283	// Pagination token.
5284	NextToken *string `type:"string"`
5285
5286	// Trace IDs of requests for which to generate a service graph.
5287	//
5288	// TraceIds is a required field
5289	TraceIds []*string `type:"list" required:"true"`
5290}
5291
5292// String returns the string representation
5293func (s GetTraceGraphInput) String() string {
5294	return awsutil.Prettify(s)
5295}
5296
5297// GoString returns the string representation
5298func (s GetTraceGraphInput) GoString() string {
5299	return s.String()
5300}
5301
5302// Validate inspects the fields of the type to determine if they are valid.
5303func (s *GetTraceGraphInput) Validate() error {
5304	invalidParams := request.ErrInvalidParams{Context: "GetTraceGraphInput"}
5305	if s.TraceIds == nil {
5306		invalidParams.Add(request.NewErrParamRequired("TraceIds"))
5307	}
5308
5309	if invalidParams.Len() > 0 {
5310		return invalidParams
5311	}
5312	return nil
5313}
5314
5315// SetNextToken sets the NextToken field's value.
5316func (s *GetTraceGraphInput) SetNextToken(v string) *GetTraceGraphInput {
5317	s.NextToken = &v
5318	return s
5319}
5320
5321// SetTraceIds sets the TraceIds field's value.
5322func (s *GetTraceGraphInput) SetTraceIds(v []*string) *GetTraceGraphInput {
5323	s.TraceIds = v
5324	return s
5325}
5326
5327type GetTraceGraphOutput struct {
5328	_ struct{} `type:"structure"`
5329
5330	// Pagination token.
5331	NextToken *string `type:"string"`
5332
5333	// The services that have processed one of the specified requests.
5334	Services []*Service `type:"list"`
5335}
5336
5337// String returns the string representation
5338func (s GetTraceGraphOutput) String() string {
5339	return awsutil.Prettify(s)
5340}
5341
5342// GoString returns the string representation
5343func (s GetTraceGraphOutput) GoString() string {
5344	return s.String()
5345}
5346
5347// SetNextToken sets the NextToken field's value.
5348func (s *GetTraceGraphOutput) SetNextToken(v string) *GetTraceGraphOutput {
5349	s.NextToken = &v
5350	return s
5351}
5352
5353// SetServices sets the Services field's value.
5354func (s *GetTraceGraphOutput) SetServices(v []*Service) *GetTraceGraphOutput {
5355	s.Services = v
5356	return s
5357}
5358
5359type GetTraceSummariesInput struct {
5360	_ struct{} `type:"structure"`
5361
5362	// The end of the time frame for which to retrieve traces.
5363	//
5364	// EndTime is a required field
5365	EndTime *time.Time `type:"timestamp" required:"true"`
5366
5367	// Specify a filter expression to retrieve trace summaries for services or requests
5368	// that meet certain requirements.
5369	FilterExpression *string `type:"string"`
5370
5371	// Specify the pagination token returned by a previous request to retrieve the
5372	// next page of results.
5373	NextToken *string `type:"string"`
5374
5375	// Set to true to get summaries for only a subset of available traces.
5376	Sampling *bool `type:"boolean"`
5377
5378	// A parameter to indicate whether to enable sampling on trace summaries. Input
5379	// parameters are Name and Value.
5380	SamplingStrategy *SamplingStrategy `type:"structure"`
5381
5382	// The start of the time frame for which to retrieve traces.
5383	//
5384	// StartTime is a required field
5385	StartTime *time.Time `type:"timestamp" required:"true"`
5386
5387	// A parameter to indicate whether to query trace summaries by TraceId or Event
5388	// time.
5389	TimeRangeType *string `type:"string" enum:"TimeRangeType"`
5390}
5391
5392// String returns the string representation
5393func (s GetTraceSummariesInput) String() string {
5394	return awsutil.Prettify(s)
5395}
5396
5397// GoString returns the string representation
5398func (s GetTraceSummariesInput) GoString() string {
5399	return s.String()
5400}
5401
5402// Validate inspects the fields of the type to determine if they are valid.
5403func (s *GetTraceSummariesInput) Validate() error {
5404	invalidParams := request.ErrInvalidParams{Context: "GetTraceSummariesInput"}
5405	if s.EndTime == nil {
5406		invalidParams.Add(request.NewErrParamRequired("EndTime"))
5407	}
5408	if s.StartTime == nil {
5409		invalidParams.Add(request.NewErrParamRequired("StartTime"))
5410	}
5411
5412	if invalidParams.Len() > 0 {
5413		return invalidParams
5414	}
5415	return nil
5416}
5417
5418// SetEndTime sets the EndTime field's value.
5419func (s *GetTraceSummariesInput) SetEndTime(v time.Time) *GetTraceSummariesInput {
5420	s.EndTime = &v
5421	return s
5422}
5423
5424// SetFilterExpression sets the FilterExpression field's value.
5425func (s *GetTraceSummariesInput) SetFilterExpression(v string) *GetTraceSummariesInput {
5426	s.FilterExpression = &v
5427	return s
5428}
5429
5430// SetNextToken sets the NextToken field's value.
5431func (s *GetTraceSummariesInput) SetNextToken(v string) *GetTraceSummariesInput {
5432	s.NextToken = &v
5433	return s
5434}
5435
5436// SetSampling sets the Sampling field's value.
5437func (s *GetTraceSummariesInput) SetSampling(v bool) *GetTraceSummariesInput {
5438	s.Sampling = &v
5439	return s
5440}
5441
5442// SetSamplingStrategy sets the SamplingStrategy field's value.
5443func (s *GetTraceSummariesInput) SetSamplingStrategy(v *SamplingStrategy) *GetTraceSummariesInput {
5444	s.SamplingStrategy = v
5445	return s
5446}
5447
5448// SetStartTime sets the StartTime field's value.
5449func (s *GetTraceSummariesInput) SetStartTime(v time.Time) *GetTraceSummariesInput {
5450	s.StartTime = &v
5451	return s
5452}
5453
5454// SetTimeRangeType sets the TimeRangeType field's value.
5455func (s *GetTraceSummariesInput) SetTimeRangeType(v string) *GetTraceSummariesInput {
5456	s.TimeRangeType = &v
5457	return s
5458}
5459
5460type GetTraceSummariesOutput struct {
5461	_ struct{} `type:"structure"`
5462
5463	// The start time of this page of results.
5464	ApproximateTime *time.Time `type:"timestamp"`
5465
5466	// If the requested time frame contained more than one page of results, you
5467	// can use this token to retrieve the next page. The first page contains the
5468	// most recent results, closest to the end of the time frame.
5469	NextToken *string `type:"string"`
5470
5471	// Trace IDs and annotations for traces that were found in the specified time
5472	// frame.
5473	TraceSummaries []*TraceSummary `type:"list"`
5474
5475	// The total number of traces processed, including traces that did not match
5476	// the specified filter expression.
5477	TracesProcessedCount *int64 `type:"long"`
5478}
5479
5480// String returns the string representation
5481func (s GetTraceSummariesOutput) String() string {
5482	return awsutil.Prettify(s)
5483}
5484
5485// GoString returns the string representation
5486func (s GetTraceSummariesOutput) GoString() string {
5487	return s.String()
5488}
5489
5490// SetApproximateTime sets the ApproximateTime field's value.
5491func (s *GetTraceSummariesOutput) SetApproximateTime(v time.Time) *GetTraceSummariesOutput {
5492	s.ApproximateTime = &v
5493	return s
5494}
5495
5496// SetNextToken sets the NextToken field's value.
5497func (s *GetTraceSummariesOutput) SetNextToken(v string) *GetTraceSummariesOutput {
5498	s.NextToken = &v
5499	return s
5500}
5501
5502// SetTraceSummaries sets the TraceSummaries field's value.
5503func (s *GetTraceSummariesOutput) SetTraceSummaries(v []*TraceSummary) *GetTraceSummariesOutput {
5504	s.TraceSummaries = v
5505	return s
5506}
5507
5508// SetTracesProcessedCount sets the TracesProcessedCount field's value.
5509func (s *GetTraceSummariesOutput) SetTracesProcessedCount(v int64) *GetTraceSummariesOutput {
5510	s.TracesProcessedCount = &v
5511	return s
5512}
5513
5514// Details and metadata for a group.
5515type Group struct {
5516	_ struct{} `type:"structure"`
5517
5518	// The filter expression defining the parameters to include traces.
5519	FilterExpression *string `type:"string"`
5520
5521	// The Amazon Resource Name (ARN) of the group generated based on the GroupName.
5522	GroupARN *string `type:"string"`
5523
5524	// The unique case-sensitive name of the group.
5525	GroupName *string `type:"string"`
5526
5527	// The structure containing configurations related to insights.
5528	//
5529	//    * The InsightsEnabled boolean can be set to true to enable insights for
5530	//    the group or false to disable insights for the group.
5531	//
5532	//    * The NotifcationsEnabled boolean can be set to true to enable insights
5533	//    notifications through Amazon EventBridge for the group.
5534	InsightsConfiguration *InsightsConfiguration `type:"structure"`
5535}
5536
5537// String returns the string representation
5538func (s Group) String() string {
5539	return awsutil.Prettify(s)
5540}
5541
5542// GoString returns the string representation
5543func (s Group) GoString() string {
5544	return s.String()
5545}
5546
5547// SetFilterExpression sets the FilterExpression field's value.
5548func (s *Group) SetFilterExpression(v string) *Group {
5549	s.FilterExpression = &v
5550	return s
5551}
5552
5553// SetGroupARN sets the GroupARN field's value.
5554func (s *Group) SetGroupARN(v string) *Group {
5555	s.GroupARN = &v
5556	return s
5557}
5558
5559// SetGroupName sets the GroupName field's value.
5560func (s *Group) SetGroupName(v string) *Group {
5561	s.GroupName = &v
5562	return s
5563}
5564
5565// SetInsightsConfiguration sets the InsightsConfiguration field's value.
5566func (s *Group) SetInsightsConfiguration(v *InsightsConfiguration) *Group {
5567	s.InsightsConfiguration = v
5568	return s
5569}
5570
5571// Details for a group without metadata.
5572type GroupSummary struct {
5573	_ struct{} `type:"structure"`
5574
5575	// The filter expression defining the parameters to include traces.
5576	FilterExpression *string `type:"string"`
5577
5578	// The ARN of the group generated based on the GroupName.
5579	GroupARN *string `type:"string"`
5580
5581	// The unique case-sensitive name of the group.
5582	GroupName *string `type:"string"`
5583
5584	// The structure containing configurations related to insights.
5585	//
5586	//    * The InsightsEnabled boolean can be set to true to enable insights for
5587	//    the group or false to disable insights for the group.
5588	//
5589	//    * The NotificationsEnabled boolean can be set to true to enable insights
5590	//    notifications. Notifications can only be enabled on a group with InsightsEnabled
5591	//    set to true.
5592	InsightsConfiguration *InsightsConfiguration `type:"structure"`
5593}
5594
5595// String returns the string representation
5596func (s GroupSummary) String() string {
5597	return awsutil.Prettify(s)
5598}
5599
5600// GoString returns the string representation
5601func (s GroupSummary) GoString() string {
5602	return s.String()
5603}
5604
5605// SetFilterExpression sets the FilterExpression field's value.
5606func (s *GroupSummary) SetFilterExpression(v string) *GroupSummary {
5607	s.FilterExpression = &v
5608	return s
5609}
5610
5611// SetGroupARN sets the GroupARN field's value.
5612func (s *GroupSummary) SetGroupARN(v string) *GroupSummary {
5613	s.GroupARN = &v
5614	return s
5615}
5616
5617// SetGroupName sets the GroupName field's value.
5618func (s *GroupSummary) SetGroupName(v string) *GroupSummary {
5619	s.GroupName = &v
5620	return s
5621}
5622
5623// SetInsightsConfiguration sets the InsightsConfiguration field's value.
5624func (s *GroupSummary) SetInsightsConfiguration(v *InsightsConfiguration) *GroupSummary {
5625	s.InsightsConfiguration = v
5626	return s
5627}
5628
5629// An entry in a histogram for a statistic. A histogram maps the range of observed
5630// values on the X axis, and the prevalence of each value on the Y axis.
5631type HistogramEntry struct {
5632	_ struct{} `type:"structure"`
5633
5634	// The prevalence of the entry.
5635	Count *int64 `type:"integer"`
5636
5637	// The value of the entry.
5638	Value *float64 `type:"double"`
5639}
5640
5641// String returns the string representation
5642func (s HistogramEntry) String() string {
5643	return awsutil.Prettify(s)
5644}
5645
5646// GoString returns the string representation
5647func (s HistogramEntry) GoString() string {
5648	return s.String()
5649}
5650
5651// SetCount sets the Count field's value.
5652func (s *HistogramEntry) SetCount(v int64) *HistogramEntry {
5653	s.Count = &v
5654	return s
5655}
5656
5657// SetValue sets the Value field's value.
5658func (s *HistogramEntry) SetValue(v float64) *HistogramEntry {
5659	s.Value = &v
5660	return s
5661}
5662
5663// Information about an HTTP request.
5664type Http struct {
5665	_ struct{} `type:"structure"`
5666
5667	// The IP address of the requestor.
5668	ClientIp *string `type:"string"`
5669
5670	// The request method.
5671	HttpMethod *string `type:"string"`
5672
5673	// The response status.
5674	HttpStatus *int64 `type:"integer"`
5675
5676	// The request URL.
5677	HttpURL *string `type:"string"`
5678
5679	// The request's user agent string.
5680	UserAgent *string `type:"string"`
5681}
5682
5683// String returns the string representation
5684func (s Http) String() string {
5685	return awsutil.Prettify(s)
5686}
5687
5688// GoString returns the string representation
5689func (s Http) GoString() string {
5690	return s.String()
5691}
5692
5693// SetClientIp sets the ClientIp field's value.
5694func (s *Http) SetClientIp(v string) *Http {
5695	s.ClientIp = &v
5696	return s
5697}
5698
5699// SetHttpMethod sets the HttpMethod field's value.
5700func (s *Http) SetHttpMethod(v string) *Http {
5701	s.HttpMethod = &v
5702	return s
5703}
5704
5705// SetHttpStatus sets the HttpStatus field's value.
5706func (s *Http) SetHttpStatus(v int64) *Http {
5707	s.HttpStatus = &v
5708	return s
5709}
5710
5711// SetHttpURL sets the HttpURL field's value.
5712func (s *Http) SetHttpURL(v string) *Http {
5713	s.HttpURL = &v
5714	return s
5715}
5716
5717// SetUserAgent sets the UserAgent field's value.
5718func (s *Http) SetUserAgent(v string) *Http {
5719	s.UserAgent = &v
5720	return s
5721}
5722
5723// When fault rates go outside of the expected range, X-Ray creates an insight.
5724// Insights tracks emergent issues within your applications.
5725type Insight struct {
5726	_ struct{} `type:"structure"`
5727
5728	// The categories that label and describe the type of insight.
5729	Categories []*string `type:"list"`
5730
5731	// The impact statistics of the client side service. This includes the number
5732	// of requests to the client service and whether the requests were faults or
5733	// okay.
5734	ClientRequestImpactStatistics *RequestImpactStatistics `type:"structure"`
5735
5736	// The time, in Unix seconds, at which the insight ended.
5737	EndTime *time.Time `type:"timestamp"`
5738
5739	// The Amazon Resource Name (ARN) of the group that the insight belongs to.
5740	GroupARN *string `min:"1" type:"string"`
5741
5742	// The name of the group that the insight belongs to.
5743	GroupName *string `min:"1" type:"string"`
5744
5745	// The insights unique identifier.
5746	InsightId *string `type:"string"`
5747
5748	RootCauseServiceId *ServiceId `type:"structure"`
5749
5750	// The impact statistics of the root cause service. This includes the number
5751	// of requests to the client service and whether the requests were faults or
5752	// okay.
5753	RootCauseServiceRequestImpactStatistics *RequestImpactStatistics `type:"structure"`
5754
5755	// The time, in Unix seconds, at which the insight began.
5756	StartTime *time.Time `type:"timestamp"`
5757
5758	// The current state of the insight.
5759	State *string `type:"string" enum:"InsightState"`
5760
5761	// A brief description of the insight.
5762	Summary *string `type:"string"`
5763
5764	// The service within the insight that is most impacted by the incident.
5765	TopAnomalousServices []*AnomalousService `type:"list"`
5766}
5767
5768// String returns the string representation
5769func (s Insight) String() string {
5770	return awsutil.Prettify(s)
5771}
5772
5773// GoString returns the string representation
5774func (s Insight) GoString() string {
5775	return s.String()
5776}
5777
5778// SetCategories sets the Categories field's value.
5779func (s *Insight) SetCategories(v []*string) *Insight {
5780	s.Categories = v
5781	return s
5782}
5783
5784// SetClientRequestImpactStatistics sets the ClientRequestImpactStatistics field's value.
5785func (s *Insight) SetClientRequestImpactStatistics(v *RequestImpactStatistics) *Insight {
5786	s.ClientRequestImpactStatistics = v
5787	return s
5788}
5789
5790// SetEndTime sets the EndTime field's value.
5791func (s *Insight) SetEndTime(v time.Time) *Insight {
5792	s.EndTime = &v
5793	return s
5794}
5795
5796// SetGroupARN sets the GroupARN field's value.
5797func (s *Insight) SetGroupARN(v string) *Insight {
5798	s.GroupARN = &v
5799	return s
5800}
5801
5802// SetGroupName sets the GroupName field's value.
5803func (s *Insight) SetGroupName(v string) *Insight {
5804	s.GroupName = &v
5805	return s
5806}
5807
5808// SetInsightId sets the InsightId field's value.
5809func (s *Insight) SetInsightId(v string) *Insight {
5810	s.InsightId = &v
5811	return s
5812}
5813
5814// SetRootCauseServiceId sets the RootCauseServiceId field's value.
5815func (s *Insight) SetRootCauseServiceId(v *ServiceId) *Insight {
5816	s.RootCauseServiceId = v
5817	return s
5818}
5819
5820// SetRootCauseServiceRequestImpactStatistics sets the RootCauseServiceRequestImpactStatistics field's value.
5821func (s *Insight) SetRootCauseServiceRequestImpactStatistics(v *RequestImpactStatistics) *Insight {
5822	s.RootCauseServiceRequestImpactStatistics = v
5823	return s
5824}
5825
5826// SetStartTime sets the StartTime field's value.
5827func (s *Insight) SetStartTime(v time.Time) *Insight {
5828	s.StartTime = &v
5829	return s
5830}
5831
5832// SetState sets the State field's value.
5833func (s *Insight) SetState(v string) *Insight {
5834	s.State = &v
5835	return s
5836}
5837
5838// SetSummary sets the Summary field's value.
5839func (s *Insight) SetSummary(v string) *Insight {
5840	s.Summary = &v
5841	return s
5842}
5843
5844// SetTopAnomalousServices sets the TopAnomalousServices field's value.
5845func (s *Insight) SetTopAnomalousServices(v []*AnomalousService) *Insight {
5846	s.TopAnomalousServices = v
5847	return s
5848}
5849
5850// X-Ray reevaluates insights periodically until they are resolved, and records
5851// each intermediate state in an event. You can review incident events in the
5852// Impact Timeline on the Inspect page in the X-Ray console.
5853type InsightEvent struct {
5854	_ struct{} `type:"structure"`
5855
5856	// The impact statistics of the client side service. This includes the number
5857	// of requests to the client service and whether the requests were faults or
5858	// okay.
5859	ClientRequestImpactStatistics *RequestImpactStatistics `type:"structure"`
5860
5861	// The time, in Unix seconds, at which the event was recorded.
5862	EventTime *time.Time `type:"timestamp"`
5863
5864	// The impact statistics of the root cause service. This includes the number
5865	// of requests to the client service and whether the requests were faults or
5866	// okay.
5867	RootCauseServiceRequestImpactStatistics *RequestImpactStatistics `type:"structure"`
5868
5869	// A brief description of the event.
5870	Summary *string `type:"string"`
5871
5872	// The service during the event that is most impacted by the incident.
5873	TopAnomalousServices []*AnomalousService `type:"list"`
5874}
5875
5876// String returns the string representation
5877func (s InsightEvent) String() string {
5878	return awsutil.Prettify(s)
5879}
5880
5881// GoString returns the string representation
5882func (s InsightEvent) GoString() string {
5883	return s.String()
5884}
5885
5886// SetClientRequestImpactStatistics sets the ClientRequestImpactStatistics field's value.
5887func (s *InsightEvent) SetClientRequestImpactStatistics(v *RequestImpactStatistics) *InsightEvent {
5888	s.ClientRequestImpactStatistics = v
5889	return s
5890}
5891
5892// SetEventTime sets the EventTime field's value.
5893func (s *InsightEvent) SetEventTime(v time.Time) *InsightEvent {
5894	s.EventTime = &v
5895	return s
5896}
5897
5898// SetRootCauseServiceRequestImpactStatistics sets the RootCauseServiceRequestImpactStatistics field's value.
5899func (s *InsightEvent) SetRootCauseServiceRequestImpactStatistics(v *RequestImpactStatistics) *InsightEvent {
5900	s.RootCauseServiceRequestImpactStatistics = v
5901	return s
5902}
5903
5904// SetSummary sets the Summary field's value.
5905func (s *InsightEvent) SetSummary(v string) *InsightEvent {
5906	s.Summary = &v
5907	return s
5908}
5909
5910// SetTopAnomalousServices sets the TopAnomalousServices field's value.
5911func (s *InsightEvent) SetTopAnomalousServices(v []*AnomalousService) *InsightEvent {
5912	s.TopAnomalousServices = v
5913	return s
5914}
5915
5916// The connection between two service in an insight impact graph.
5917type InsightImpactGraphEdge struct {
5918	_ struct{} `type:"structure"`
5919
5920	// Identifier of the edge. Unique within a service map.
5921	ReferenceId *int64 `type:"integer"`
5922}
5923
5924// String returns the string representation
5925func (s InsightImpactGraphEdge) String() string {
5926	return awsutil.Prettify(s)
5927}
5928
5929// GoString returns the string representation
5930func (s InsightImpactGraphEdge) GoString() string {
5931	return s.String()
5932}
5933
5934// SetReferenceId sets the ReferenceId field's value.
5935func (s *InsightImpactGraphEdge) SetReferenceId(v int64) *InsightImpactGraphEdge {
5936	s.ReferenceId = &v
5937	return s
5938}
5939
5940// Information about an application that processed requests, users that made
5941// requests, or downstream services, resources, and applications that an application
5942// used.
5943type InsightImpactGraphService struct {
5944	_ struct{} `type:"structure"`
5945
5946	// Identifier of the AWS account in which the service runs.
5947	AccountId *string `type:"string"`
5948
5949	// Connections to downstream services.
5950	Edges []*InsightImpactGraphEdge `type:"list"`
5951
5952	// The canonical name of the service.
5953	Name *string `type:"string"`
5954
5955	// A list of names for the service, including the canonical name.
5956	Names []*string `type:"list"`
5957
5958	// Identifier for the service. Unique within the service map.
5959	ReferenceId *int64 `type:"integer"`
5960
5961	// Identifier for the service. Unique within the service map.
5962	//
5963	//    * AWS Resource - The type of an AWS resource. For example, AWS::EC2::Instance
5964	//    for an application running on Amazon EC2 or AWS::DynamoDB::Table for an
5965	//    Amazon DynamoDB table that the application used.
5966	//
5967	//    * AWS Service - The type of an AWS service. For example, AWS::DynamoDB
5968	//    for downstream calls to Amazon DynamoDB that didn't target a specific
5969	//    table.
5970	//
5971	//    * AWS Service - The type of an AWS service. For example, AWS::DynamoDB
5972	//    for downstream calls to Amazon DynamoDB that didn't target a specific
5973	//    table.
5974	//
5975	//    * remote - A downstream service of indeterminate type.
5976	Type *string `type:"string"`
5977}
5978
5979// String returns the string representation
5980func (s InsightImpactGraphService) String() string {
5981	return awsutil.Prettify(s)
5982}
5983
5984// GoString returns the string representation
5985func (s InsightImpactGraphService) GoString() string {
5986	return s.String()
5987}
5988
5989// SetAccountId sets the AccountId field's value.
5990func (s *InsightImpactGraphService) SetAccountId(v string) *InsightImpactGraphService {
5991	s.AccountId = &v
5992	return s
5993}
5994
5995// SetEdges sets the Edges field's value.
5996func (s *InsightImpactGraphService) SetEdges(v []*InsightImpactGraphEdge) *InsightImpactGraphService {
5997	s.Edges = v
5998	return s
5999}
6000
6001// SetName sets the Name field's value.
6002func (s *InsightImpactGraphService) SetName(v string) *InsightImpactGraphService {
6003	s.Name = &v
6004	return s
6005}
6006
6007// SetNames sets the Names field's value.
6008func (s *InsightImpactGraphService) SetNames(v []*string) *InsightImpactGraphService {
6009	s.Names = v
6010	return s
6011}
6012
6013// SetReferenceId sets the ReferenceId field's value.
6014func (s *InsightImpactGraphService) SetReferenceId(v int64) *InsightImpactGraphService {
6015	s.ReferenceId = &v
6016	return s
6017}
6018
6019// SetType sets the Type field's value.
6020func (s *InsightImpactGraphService) SetType(v string) *InsightImpactGraphService {
6021	s.Type = &v
6022	return s
6023}
6024
6025// Information that describes an insight.
6026type InsightSummary struct {
6027	_ struct{} `type:"structure"`
6028
6029	// Categories The categories that label and describe the type of insight.
6030	Categories []*string `type:"list"`
6031
6032	// The impact statistics of the client side service. This includes the number
6033	// of requests to the client service and whether the requests were faults or
6034	// okay.
6035	ClientRequestImpactStatistics *RequestImpactStatistics `type:"structure"`
6036
6037	// The time, in Unix seconds, at which the insight ended.
6038	EndTime *time.Time `type:"timestamp"`
6039
6040	// The Amazon Resource Name (ARN) of the group that the insight belongs to.
6041	GroupARN *string `min:"1" type:"string"`
6042
6043	// The name of the group that the insight belongs to.
6044	GroupName *string `min:"1" type:"string"`
6045
6046	// The insights unique identifier.
6047	InsightId *string `type:"string"`
6048
6049	// The time, in Unix seconds, that the insight was last updated.
6050	LastUpdateTime *time.Time `type:"timestamp"`
6051
6052	RootCauseServiceId *ServiceId `type:"structure"`
6053
6054	// The impact statistics of the root cause service. This includes the number
6055	// of requests to the client service and whether the requests were faults or
6056	// okay.
6057	RootCauseServiceRequestImpactStatistics *RequestImpactStatistics `type:"structure"`
6058
6059	// The time, in Unix seconds, at which the insight began.
6060	StartTime *time.Time `type:"timestamp"`
6061
6062	// The current state of the insight.
6063	State *string `type:"string" enum:"InsightState"`
6064
6065	// A brief description of the insight.
6066	Summary *string `type:"string"`
6067
6068	// The service within the insight that is most impacted by the incident.
6069	TopAnomalousServices []*AnomalousService `type:"list"`
6070}
6071
6072// String returns the string representation
6073func (s InsightSummary) String() string {
6074	return awsutil.Prettify(s)
6075}
6076
6077// GoString returns the string representation
6078func (s InsightSummary) GoString() string {
6079	return s.String()
6080}
6081
6082// SetCategories sets the Categories field's value.
6083func (s *InsightSummary) SetCategories(v []*string) *InsightSummary {
6084	s.Categories = v
6085	return s
6086}
6087
6088// SetClientRequestImpactStatistics sets the ClientRequestImpactStatistics field's value.
6089func (s *InsightSummary) SetClientRequestImpactStatistics(v *RequestImpactStatistics) *InsightSummary {
6090	s.ClientRequestImpactStatistics = v
6091	return s
6092}
6093
6094// SetEndTime sets the EndTime field's value.
6095func (s *InsightSummary) SetEndTime(v time.Time) *InsightSummary {
6096	s.EndTime = &v
6097	return s
6098}
6099
6100// SetGroupARN sets the GroupARN field's value.
6101func (s *InsightSummary) SetGroupARN(v string) *InsightSummary {
6102	s.GroupARN = &v
6103	return s
6104}
6105
6106// SetGroupName sets the GroupName field's value.
6107func (s *InsightSummary) SetGroupName(v string) *InsightSummary {
6108	s.GroupName = &v
6109	return s
6110}
6111
6112// SetInsightId sets the InsightId field's value.
6113func (s *InsightSummary) SetInsightId(v string) *InsightSummary {
6114	s.InsightId = &v
6115	return s
6116}
6117
6118// SetLastUpdateTime sets the LastUpdateTime field's value.
6119func (s *InsightSummary) SetLastUpdateTime(v time.Time) *InsightSummary {
6120	s.LastUpdateTime = &v
6121	return s
6122}
6123
6124// SetRootCauseServiceId sets the RootCauseServiceId field's value.
6125func (s *InsightSummary) SetRootCauseServiceId(v *ServiceId) *InsightSummary {
6126	s.RootCauseServiceId = v
6127	return s
6128}
6129
6130// SetRootCauseServiceRequestImpactStatistics sets the RootCauseServiceRequestImpactStatistics field's value.
6131func (s *InsightSummary) SetRootCauseServiceRequestImpactStatistics(v *RequestImpactStatistics) *InsightSummary {
6132	s.RootCauseServiceRequestImpactStatistics = v
6133	return s
6134}
6135
6136// SetStartTime sets the StartTime field's value.
6137func (s *InsightSummary) SetStartTime(v time.Time) *InsightSummary {
6138	s.StartTime = &v
6139	return s
6140}
6141
6142// SetState sets the State field's value.
6143func (s *InsightSummary) SetState(v string) *InsightSummary {
6144	s.State = &v
6145	return s
6146}
6147
6148// SetSummary sets the Summary field's value.
6149func (s *InsightSummary) SetSummary(v string) *InsightSummary {
6150	s.Summary = &v
6151	return s
6152}
6153
6154// SetTopAnomalousServices sets the TopAnomalousServices field's value.
6155func (s *InsightSummary) SetTopAnomalousServices(v []*AnomalousService) *InsightSummary {
6156	s.TopAnomalousServices = v
6157	return s
6158}
6159
6160// The structure containing configurations related to insights.
6161type InsightsConfiguration struct {
6162	_ struct{} `type:"structure"`
6163
6164	// Set the InsightsEnabled value to true to enable insights or false to disable
6165	// insights.
6166	InsightsEnabled *bool `type:"boolean"`
6167
6168	// Set the NotificationsEnabled value to true to enable insights notifications.
6169	// Notifications can only be enabled on a group with InsightsEnabled set to
6170	// true.
6171	NotificationsEnabled *bool `type:"boolean"`
6172}
6173
6174// String returns the string representation
6175func (s InsightsConfiguration) String() string {
6176	return awsutil.Prettify(s)
6177}
6178
6179// GoString returns the string representation
6180func (s InsightsConfiguration) GoString() string {
6181	return s.String()
6182}
6183
6184// SetInsightsEnabled sets the InsightsEnabled field's value.
6185func (s *InsightsConfiguration) SetInsightsEnabled(v bool) *InsightsConfiguration {
6186	s.InsightsEnabled = &v
6187	return s
6188}
6189
6190// SetNotificationsEnabled sets the NotificationsEnabled field's value.
6191func (s *InsightsConfiguration) SetNotificationsEnabled(v bool) *InsightsConfiguration {
6192	s.NotificationsEnabled = &v
6193	return s
6194}
6195
6196// A list of EC2 instance IDs corresponding to the segments in a trace.
6197type InstanceIdDetail struct {
6198	_ struct{} `type:"structure"`
6199
6200	// The ID of a corresponding EC2 instance.
6201	Id *string `type:"string"`
6202}
6203
6204// String returns the string representation
6205func (s InstanceIdDetail) String() string {
6206	return awsutil.Prettify(s)
6207}
6208
6209// GoString returns the string representation
6210func (s InstanceIdDetail) GoString() string {
6211	return s.String()
6212}
6213
6214// SetId sets the Id field's value.
6215func (s *InstanceIdDetail) SetId(v string) *InstanceIdDetail {
6216	s.Id = &v
6217	return s
6218}
6219
6220// The request is missing required parameters or has invalid parameters.
6221type InvalidRequestException struct {
6222	_            struct{}                  `type:"structure"`
6223	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
6224
6225	Message_ *string `locationName:"Message" type:"string"`
6226}
6227
6228// String returns the string representation
6229func (s InvalidRequestException) String() string {
6230	return awsutil.Prettify(s)
6231}
6232
6233// GoString returns the string representation
6234func (s InvalidRequestException) GoString() string {
6235	return s.String()
6236}
6237
6238func newErrorInvalidRequestException(v protocol.ResponseMetadata) error {
6239	return &InvalidRequestException{
6240		RespMetadata: v,
6241	}
6242}
6243
6244// Code returns the exception type name.
6245func (s *InvalidRequestException) Code() string {
6246	return "InvalidRequestException"
6247}
6248
6249// Message returns the exception's message.
6250func (s *InvalidRequestException) Message() string {
6251	if s.Message_ != nil {
6252		return *s.Message_
6253	}
6254	return ""
6255}
6256
6257// OrigErr always returns nil, satisfies awserr.Error interface.
6258func (s *InvalidRequestException) OrigErr() error {
6259	return nil
6260}
6261
6262func (s *InvalidRequestException) Error() string {
6263	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
6264}
6265
6266// Status code returns the HTTP status code for the request's response error.
6267func (s *InvalidRequestException) StatusCode() int {
6268	return s.RespMetadata.StatusCode
6269}
6270
6271// RequestID returns the service's response RequestID for request.
6272func (s *InvalidRequestException) RequestID() string {
6273	return s.RespMetadata.RequestID
6274}
6275
6276type ListTagsForResourceInput struct {
6277	_ struct{} `type:"structure"`
6278
6279	// A pagination token. If multiple pages of results are returned, use the NextToken
6280	// value returned with the current page of results as the value of this parameter
6281	// to get the next page of results.
6282	NextToken *string `type:"string"`
6283
6284	// The Amazon Resource Number (ARN) of an X-Ray group or sampling rule.
6285	//
6286	// ResourceARN is a required field
6287	ResourceARN *string `min:"1" type:"string" required:"true"`
6288}
6289
6290// String returns the string representation
6291func (s ListTagsForResourceInput) String() string {
6292	return awsutil.Prettify(s)
6293}
6294
6295// GoString returns the string representation
6296func (s ListTagsForResourceInput) GoString() string {
6297	return s.String()
6298}
6299
6300// Validate inspects the fields of the type to determine if they are valid.
6301func (s *ListTagsForResourceInput) Validate() error {
6302	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
6303	if s.ResourceARN == nil {
6304		invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
6305	}
6306	if s.ResourceARN != nil && len(*s.ResourceARN) < 1 {
6307		invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1))
6308	}
6309
6310	if invalidParams.Len() > 0 {
6311		return invalidParams
6312	}
6313	return nil
6314}
6315
6316// SetNextToken sets the NextToken field's value.
6317func (s *ListTagsForResourceInput) SetNextToken(v string) *ListTagsForResourceInput {
6318	s.NextToken = &v
6319	return s
6320}
6321
6322// SetResourceARN sets the ResourceARN field's value.
6323func (s *ListTagsForResourceInput) SetResourceARN(v string) *ListTagsForResourceInput {
6324	s.ResourceARN = &v
6325	return s
6326}
6327
6328type ListTagsForResourceOutput struct {
6329	_ struct{} `type:"structure"`
6330
6331	// A pagination token. If multiple pages of results are returned, use the NextToken
6332	// value returned with the current page of results to get the next page of results.
6333	NextToken *string `type:"string"`
6334
6335	// A list of tags, as key and value pairs, that is associated with the specified
6336	// X-Ray group or sampling rule.
6337	Tags []*Tag `type:"list"`
6338}
6339
6340// String returns the string representation
6341func (s ListTagsForResourceOutput) String() string {
6342	return awsutil.Prettify(s)
6343}
6344
6345// GoString returns the string representation
6346func (s ListTagsForResourceOutput) GoString() string {
6347	return s.String()
6348}
6349
6350// SetNextToken sets the NextToken field's value.
6351func (s *ListTagsForResourceOutput) SetNextToken(v string) *ListTagsForResourceOutput {
6352	s.NextToken = &v
6353	return s
6354}
6355
6356// SetTags sets the Tags field's value.
6357func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput {
6358	s.Tags = v
6359	return s
6360}
6361
6362type PutEncryptionConfigInput struct {
6363	_ struct{} `type:"structure"`
6364
6365	// An AWS KMS customer master key (CMK) in one of the following formats:
6366	//
6367	//    * Alias - The name of the key. For example, alias/MyKey.
6368	//
6369	//    * Key ID - The KMS key ID of the key. For example, ae4aa6d49-a4d8-9df9-a475-4ff6d7898456.
6370	//    AWS X-Ray does not support asymmetric CMKs.
6371	//
6372	//    * ARN - The full Amazon Resource Name of the key ID or alias. For example,
6373	//    arn:aws:kms:us-east-2:123456789012:key/ae4aa6d49-a4d8-9df9-a475-4ff6d7898456.
6374	//    Use this format to specify a key in a different account.
6375	//
6376	// Omit this key if you set Type to NONE.
6377	KeyId *string `min:"1" type:"string"`
6378
6379	// The type of encryption. Set to KMS to use your own key for encryption. Set
6380	// to NONE for default encryption.
6381	//
6382	// Type is a required field
6383	Type *string `type:"string" required:"true" enum:"EncryptionType"`
6384}
6385
6386// String returns the string representation
6387func (s PutEncryptionConfigInput) String() string {
6388	return awsutil.Prettify(s)
6389}
6390
6391// GoString returns the string representation
6392func (s PutEncryptionConfigInput) GoString() string {
6393	return s.String()
6394}
6395
6396// Validate inspects the fields of the type to determine if they are valid.
6397func (s *PutEncryptionConfigInput) Validate() error {
6398	invalidParams := request.ErrInvalidParams{Context: "PutEncryptionConfigInput"}
6399	if s.KeyId != nil && len(*s.KeyId) < 1 {
6400		invalidParams.Add(request.NewErrParamMinLen("KeyId", 1))
6401	}
6402	if s.Type == nil {
6403		invalidParams.Add(request.NewErrParamRequired("Type"))
6404	}
6405
6406	if invalidParams.Len() > 0 {
6407		return invalidParams
6408	}
6409	return nil
6410}
6411
6412// SetKeyId sets the KeyId field's value.
6413func (s *PutEncryptionConfigInput) SetKeyId(v string) *PutEncryptionConfigInput {
6414	s.KeyId = &v
6415	return s
6416}
6417
6418// SetType sets the Type field's value.
6419func (s *PutEncryptionConfigInput) SetType(v string) *PutEncryptionConfigInput {
6420	s.Type = &v
6421	return s
6422}
6423
6424type PutEncryptionConfigOutput struct {
6425	_ struct{} `type:"structure"`
6426
6427	// The new encryption configuration.
6428	EncryptionConfig *EncryptionConfig `type:"structure"`
6429}
6430
6431// String returns the string representation
6432func (s PutEncryptionConfigOutput) String() string {
6433	return awsutil.Prettify(s)
6434}
6435
6436// GoString returns the string representation
6437func (s PutEncryptionConfigOutput) GoString() string {
6438	return s.String()
6439}
6440
6441// SetEncryptionConfig sets the EncryptionConfig field's value.
6442func (s *PutEncryptionConfigOutput) SetEncryptionConfig(v *EncryptionConfig) *PutEncryptionConfigOutput {
6443	s.EncryptionConfig = v
6444	return s
6445}
6446
6447type PutTelemetryRecordsInput struct {
6448	_ struct{} `type:"structure"`
6449
6450	EC2InstanceId *string `type:"string"`
6451
6452	Hostname *string `type:"string"`
6453
6454	ResourceARN *string `type:"string"`
6455
6456	// TelemetryRecords is a required field
6457	TelemetryRecords []*TelemetryRecord `type:"list" required:"true"`
6458}
6459
6460// String returns the string representation
6461func (s PutTelemetryRecordsInput) String() string {
6462	return awsutil.Prettify(s)
6463}
6464
6465// GoString returns the string representation
6466func (s PutTelemetryRecordsInput) GoString() string {
6467	return s.String()
6468}
6469
6470// Validate inspects the fields of the type to determine if they are valid.
6471func (s *PutTelemetryRecordsInput) Validate() error {
6472	invalidParams := request.ErrInvalidParams{Context: "PutTelemetryRecordsInput"}
6473	if s.TelemetryRecords == nil {
6474		invalidParams.Add(request.NewErrParamRequired("TelemetryRecords"))
6475	}
6476	if s.TelemetryRecords != nil {
6477		for i, v := range s.TelemetryRecords {
6478			if v == nil {
6479				continue
6480			}
6481			if err := v.Validate(); err != nil {
6482				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TelemetryRecords", i), err.(request.ErrInvalidParams))
6483			}
6484		}
6485	}
6486
6487	if invalidParams.Len() > 0 {
6488		return invalidParams
6489	}
6490	return nil
6491}
6492
6493// SetEC2InstanceId sets the EC2InstanceId field's value.
6494func (s *PutTelemetryRecordsInput) SetEC2InstanceId(v string) *PutTelemetryRecordsInput {
6495	s.EC2InstanceId = &v
6496	return s
6497}
6498
6499// SetHostname sets the Hostname field's value.
6500func (s *PutTelemetryRecordsInput) SetHostname(v string) *PutTelemetryRecordsInput {
6501	s.Hostname = &v
6502	return s
6503}
6504
6505// SetResourceARN sets the ResourceARN field's value.
6506func (s *PutTelemetryRecordsInput) SetResourceARN(v string) *PutTelemetryRecordsInput {
6507	s.ResourceARN = &v
6508	return s
6509}
6510
6511// SetTelemetryRecords sets the TelemetryRecords field's value.
6512func (s *PutTelemetryRecordsInput) SetTelemetryRecords(v []*TelemetryRecord) *PutTelemetryRecordsInput {
6513	s.TelemetryRecords = v
6514	return s
6515}
6516
6517type PutTelemetryRecordsOutput struct {
6518	_ struct{} `type:"structure"`
6519}
6520
6521// String returns the string representation
6522func (s PutTelemetryRecordsOutput) String() string {
6523	return awsutil.Prettify(s)
6524}
6525
6526// GoString returns the string representation
6527func (s PutTelemetryRecordsOutput) GoString() string {
6528	return s.String()
6529}
6530
6531type PutTraceSegmentsInput struct {
6532	_ struct{} `type:"structure"`
6533
6534	// A string containing a JSON document defining one or more segments or subsegments.
6535	//
6536	// TraceSegmentDocuments is a required field
6537	TraceSegmentDocuments []*string `type:"list" required:"true"`
6538}
6539
6540// String returns the string representation
6541func (s PutTraceSegmentsInput) String() string {
6542	return awsutil.Prettify(s)
6543}
6544
6545// GoString returns the string representation
6546func (s PutTraceSegmentsInput) GoString() string {
6547	return s.String()
6548}
6549
6550// Validate inspects the fields of the type to determine if they are valid.
6551func (s *PutTraceSegmentsInput) Validate() error {
6552	invalidParams := request.ErrInvalidParams{Context: "PutTraceSegmentsInput"}
6553	if s.TraceSegmentDocuments == nil {
6554		invalidParams.Add(request.NewErrParamRequired("TraceSegmentDocuments"))
6555	}
6556
6557	if invalidParams.Len() > 0 {
6558		return invalidParams
6559	}
6560	return nil
6561}
6562
6563// SetTraceSegmentDocuments sets the TraceSegmentDocuments field's value.
6564func (s *PutTraceSegmentsInput) SetTraceSegmentDocuments(v []*string) *PutTraceSegmentsInput {
6565	s.TraceSegmentDocuments = v
6566	return s
6567}
6568
6569type PutTraceSegmentsOutput struct {
6570	_ struct{} `type:"structure"`
6571
6572	// Segments that failed processing.
6573	UnprocessedTraceSegments []*UnprocessedTraceSegment `type:"list"`
6574}
6575
6576// String returns the string representation
6577func (s PutTraceSegmentsOutput) String() string {
6578	return awsutil.Prettify(s)
6579}
6580
6581// GoString returns the string representation
6582func (s PutTraceSegmentsOutput) GoString() string {
6583	return s.String()
6584}
6585
6586// SetUnprocessedTraceSegments sets the UnprocessedTraceSegments field's value.
6587func (s *PutTraceSegmentsOutput) SetUnprocessedTraceSegments(v []*UnprocessedTraceSegment) *PutTraceSegmentsOutput {
6588	s.UnprocessedTraceSegments = v
6589	return s
6590}
6591
6592// Statistics that describe how the incident has impacted a service.
6593type RequestImpactStatistics struct {
6594	_ struct{} `type:"structure"`
6595
6596	// The number of requests that have resulted in a fault,
6597	FaultCount *int64 `type:"long"`
6598
6599	// The number of successful requests.
6600	OkCount *int64 `type:"long"`
6601
6602	// The total number of requests to the service.
6603	TotalCount *int64 `type:"long"`
6604}
6605
6606// String returns the string representation
6607func (s RequestImpactStatistics) String() string {
6608	return awsutil.Prettify(s)
6609}
6610
6611// GoString returns the string representation
6612func (s RequestImpactStatistics) GoString() string {
6613	return s.String()
6614}
6615
6616// SetFaultCount sets the FaultCount field's value.
6617func (s *RequestImpactStatistics) SetFaultCount(v int64) *RequestImpactStatistics {
6618	s.FaultCount = &v
6619	return s
6620}
6621
6622// SetOkCount sets the OkCount field's value.
6623func (s *RequestImpactStatistics) SetOkCount(v int64) *RequestImpactStatistics {
6624	s.OkCount = &v
6625	return s
6626}
6627
6628// SetTotalCount sets the TotalCount field's value.
6629func (s *RequestImpactStatistics) SetTotalCount(v int64) *RequestImpactStatistics {
6630	s.TotalCount = &v
6631	return s
6632}
6633
6634// A list of resources ARNs corresponding to the segments in a trace.
6635type ResourceARNDetail struct {
6636	_ struct{} `type:"structure"`
6637
6638	// The ARN of a corresponding resource.
6639	ARN *string `type:"string"`
6640}
6641
6642// String returns the string representation
6643func (s ResourceARNDetail) String() string {
6644	return awsutil.Prettify(s)
6645}
6646
6647// GoString returns the string representation
6648func (s ResourceARNDetail) GoString() string {
6649	return s.String()
6650}
6651
6652// SetARN sets the ARN field's value.
6653func (s *ResourceARNDetail) SetARN(v string) *ResourceARNDetail {
6654	s.ARN = &v
6655	return s
6656}
6657
6658// The resource was not found. Verify that the name or Amazon Resource Name
6659// (ARN) of the resource is correct.
6660type ResourceNotFoundException struct {
6661	_            struct{}                  `type:"structure"`
6662	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
6663
6664	Message_ *string `locationName:"Message" type:"string"`
6665
6666	ResourceName *string `min:"1" type:"string"`
6667}
6668
6669// String returns the string representation
6670func (s ResourceNotFoundException) String() string {
6671	return awsutil.Prettify(s)
6672}
6673
6674// GoString returns the string representation
6675func (s ResourceNotFoundException) GoString() string {
6676	return s.String()
6677}
6678
6679func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
6680	return &ResourceNotFoundException{
6681		RespMetadata: v,
6682	}
6683}
6684
6685// Code returns the exception type name.
6686func (s *ResourceNotFoundException) Code() string {
6687	return "ResourceNotFoundException"
6688}
6689
6690// Message returns the exception's message.
6691func (s *ResourceNotFoundException) Message() string {
6692	if s.Message_ != nil {
6693		return *s.Message_
6694	}
6695	return ""
6696}
6697
6698// OrigErr always returns nil, satisfies awserr.Error interface.
6699func (s *ResourceNotFoundException) OrigErr() error {
6700	return nil
6701}
6702
6703func (s *ResourceNotFoundException) Error() string {
6704	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
6705}
6706
6707// Status code returns the HTTP status code for the request's response error.
6708func (s *ResourceNotFoundException) StatusCode() int {
6709	return s.RespMetadata.StatusCode
6710}
6711
6712// RequestID returns the service's response RequestID for request.
6713func (s *ResourceNotFoundException) RequestID() string {
6714	return s.RespMetadata.RequestID
6715}
6716
6717// The root cause information for a response time warning.
6718type ResponseTimeRootCause struct {
6719	_ struct{} `type:"structure"`
6720
6721	// A flag that denotes that the root cause impacts the trace client.
6722	ClientImpacting *bool `type:"boolean"`
6723
6724	// A list of corresponding services. A service identifies a segment and contains
6725	// a name, account ID, type, and inferred flag.
6726	Services []*ResponseTimeRootCauseService `type:"list"`
6727}
6728
6729// String returns the string representation
6730func (s ResponseTimeRootCause) String() string {
6731	return awsutil.Prettify(s)
6732}
6733
6734// GoString returns the string representation
6735func (s ResponseTimeRootCause) GoString() string {
6736	return s.String()
6737}
6738
6739// SetClientImpacting sets the ClientImpacting field's value.
6740func (s *ResponseTimeRootCause) SetClientImpacting(v bool) *ResponseTimeRootCause {
6741	s.ClientImpacting = &v
6742	return s
6743}
6744
6745// SetServices sets the Services field's value.
6746func (s *ResponseTimeRootCause) SetServices(v []*ResponseTimeRootCauseService) *ResponseTimeRootCause {
6747	s.Services = v
6748	return s
6749}
6750
6751// A collection of segments and corresponding subsegments associated to a response
6752// time warning.
6753type ResponseTimeRootCauseEntity struct {
6754	_ struct{} `type:"structure"`
6755
6756	// The type and messages of the exceptions.
6757	Coverage *float64 `type:"double"`
6758
6759	// The name of the entity.
6760	Name *string `type:"string"`
6761
6762	// A flag that denotes a remote subsegment.
6763	Remote *bool `type:"boolean"`
6764}
6765
6766// String returns the string representation
6767func (s ResponseTimeRootCauseEntity) String() string {
6768	return awsutil.Prettify(s)
6769}
6770
6771// GoString returns the string representation
6772func (s ResponseTimeRootCauseEntity) GoString() string {
6773	return s.String()
6774}
6775
6776// SetCoverage sets the Coverage field's value.
6777func (s *ResponseTimeRootCauseEntity) SetCoverage(v float64) *ResponseTimeRootCauseEntity {
6778	s.Coverage = &v
6779	return s
6780}
6781
6782// SetName sets the Name field's value.
6783func (s *ResponseTimeRootCauseEntity) SetName(v string) *ResponseTimeRootCauseEntity {
6784	s.Name = &v
6785	return s
6786}
6787
6788// SetRemote sets the Remote field's value.
6789func (s *ResponseTimeRootCauseEntity) SetRemote(v bool) *ResponseTimeRootCauseEntity {
6790	s.Remote = &v
6791	return s
6792}
6793
6794// A collection of fields identifying the service in a response time warning.
6795type ResponseTimeRootCauseService struct {
6796	_ struct{} `type:"structure"`
6797
6798	// The account ID associated to the service.
6799	AccountId *string `type:"string"`
6800
6801	// The path of root cause entities found on the service.
6802	EntityPath []*ResponseTimeRootCauseEntity `type:"list"`
6803
6804	// A Boolean value indicating if the service is inferred from the trace.
6805	Inferred *bool `type:"boolean"`
6806
6807	// The service name.
6808	Name *string `type:"string"`
6809
6810	// A collection of associated service names.
6811	Names []*string `type:"list"`
6812
6813	// The type associated to the service.
6814	Type *string `type:"string"`
6815}
6816
6817// String returns the string representation
6818func (s ResponseTimeRootCauseService) String() string {
6819	return awsutil.Prettify(s)
6820}
6821
6822// GoString returns the string representation
6823func (s ResponseTimeRootCauseService) GoString() string {
6824	return s.String()
6825}
6826
6827// SetAccountId sets the AccountId field's value.
6828func (s *ResponseTimeRootCauseService) SetAccountId(v string) *ResponseTimeRootCauseService {
6829	s.AccountId = &v
6830	return s
6831}
6832
6833// SetEntityPath sets the EntityPath field's value.
6834func (s *ResponseTimeRootCauseService) SetEntityPath(v []*ResponseTimeRootCauseEntity) *ResponseTimeRootCauseService {
6835	s.EntityPath = v
6836	return s
6837}
6838
6839// SetInferred sets the Inferred field's value.
6840func (s *ResponseTimeRootCauseService) SetInferred(v bool) *ResponseTimeRootCauseService {
6841	s.Inferred = &v
6842	return s
6843}
6844
6845// SetName sets the Name field's value.
6846func (s *ResponseTimeRootCauseService) SetName(v string) *ResponseTimeRootCauseService {
6847	s.Name = &v
6848	return s
6849}
6850
6851// SetNames sets the Names field's value.
6852func (s *ResponseTimeRootCauseService) SetNames(v []*string) *ResponseTimeRootCauseService {
6853	s.Names = v
6854	return s
6855}
6856
6857// SetType sets the Type field's value.
6858func (s *ResponseTimeRootCauseService) SetType(v string) *ResponseTimeRootCauseService {
6859	s.Type = &v
6860	return s
6861}
6862
6863// The exception associated with a root cause.
6864type RootCauseException struct {
6865	_ struct{} `type:"structure"`
6866
6867	// The message of the exception.
6868	Message *string `type:"string"`
6869
6870	// The name of the exception.
6871	Name *string `type:"string"`
6872}
6873
6874// String returns the string representation
6875func (s RootCauseException) String() string {
6876	return awsutil.Prettify(s)
6877}
6878
6879// GoString returns the string representation
6880func (s RootCauseException) GoString() string {
6881	return s.String()
6882}
6883
6884// SetMessage sets the Message field's value.
6885func (s *RootCauseException) SetMessage(v string) *RootCauseException {
6886	s.Message = &v
6887	return s
6888}
6889
6890// SetName sets the Name field's value.
6891func (s *RootCauseException) SetName(v string) *RootCauseException {
6892	s.Name = &v
6893	return s
6894}
6895
6896// You have reached the maximum number of sampling rules.
6897type RuleLimitExceededException struct {
6898	_            struct{}                  `type:"structure"`
6899	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
6900
6901	Message_ *string `locationName:"Message" type:"string"`
6902}
6903
6904// String returns the string representation
6905func (s RuleLimitExceededException) String() string {
6906	return awsutil.Prettify(s)
6907}
6908
6909// GoString returns the string representation
6910func (s RuleLimitExceededException) GoString() string {
6911	return s.String()
6912}
6913
6914func newErrorRuleLimitExceededException(v protocol.ResponseMetadata) error {
6915	return &RuleLimitExceededException{
6916		RespMetadata: v,
6917	}
6918}
6919
6920// Code returns the exception type name.
6921func (s *RuleLimitExceededException) Code() string {
6922	return "RuleLimitExceededException"
6923}
6924
6925// Message returns the exception's message.
6926func (s *RuleLimitExceededException) Message() string {
6927	if s.Message_ != nil {
6928		return *s.Message_
6929	}
6930	return ""
6931}
6932
6933// OrigErr always returns nil, satisfies awserr.Error interface.
6934func (s *RuleLimitExceededException) OrigErr() error {
6935	return nil
6936}
6937
6938func (s *RuleLimitExceededException) Error() string {
6939	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
6940}
6941
6942// Status code returns the HTTP status code for the request's response error.
6943func (s *RuleLimitExceededException) StatusCode() int {
6944	return s.RespMetadata.StatusCode
6945}
6946
6947// RequestID returns the service's response RequestID for request.
6948func (s *RuleLimitExceededException) RequestID() string {
6949	return s.RespMetadata.RequestID
6950}
6951
6952// A sampling rule that services use to decide whether to instrument a request.
6953// Rule fields can match properties of the service, or properties of a request.
6954// The service can ignore rules that don't match its properties.
6955type SamplingRule struct {
6956	_ struct{} `type:"structure"`
6957
6958	// Matches attributes derived from the request.
6959	Attributes map[string]*string `type:"map"`
6960
6961	// The percentage of matching requests to instrument, after the reservoir is
6962	// exhausted.
6963	//
6964	// FixedRate is a required field
6965	FixedRate *float64 `type:"double" required:"true"`
6966
6967	// Matches the HTTP method of a request.
6968	//
6969	// HTTPMethod is a required field
6970	HTTPMethod *string `type:"string" required:"true"`
6971
6972	// Matches the hostname from a request URL.
6973	//
6974	// Host is a required field
6975	Host *string `type:"string" required:"true"`
6976
6977	// The priority of the sampling rule.
6978	//
6979	// Priority is a required field
6980	Priority *int64 `min:"1" type:"integer" required:"true"`
6981
6982	// A fixed number of matching requests to instrument per second, prior to applying
6983	// the fixed rate. The reservoir is not used directly by services, but applies
6984	// to all services using the rule collectively.
6985	//
6986	// ReservoirSize is a required field
6987	ReservoirSize *int64 `type:"integer" required:"true"`
6988
6989	// Matches the ARN of the AWS resource on which the service runs.
6990	//
6991	// ResourceARN is a required field
6992	ResourceARN *string `type:"string" required:"true"`
6993
6994	// The ARN of the sampling rule. Specify a rule by either name or ARN, but not
6995	// both.
6996	RuleARN *string `type:"string"`
6997
6998	// The name of the sampling rule. Specify a rule by either name or ARN, but
6999	// not both.
7000	RuleName *string `min:"1" type:"string"`
7001
7002	// Matches the name that the service uses to identify itself in segments.
7003	//
7004	// ServiceName is a required field
7005	ServiceName *string `type:"string" required:"true"`
7006
7007	// Matches the origin that the service uses to identify its type in segments.
7008	//
7009	// ServiceType is a required field
7010	ServiceType *string `type:"string" required:"true"`
7011
7012	// Matches the path from a request URL.
7013	//
7014	// URLPath is a required field
7015	URLPath *string `type:"string" required:"true"`
7016
7017	// The version of the sampling rule format (1).
7018	//
7019	// Version is a required field
7020	Version *int64 `min:"1" type:"integer" required:"true"`
7021}
7022
7023// String returns the string representation
7024func (s SamplingRule) String() string {
7025	return awsutil.Prettify(s)
7026}
7027
7028// GoString returns the string representation
7029func (s SamplingRule) GoString() string {
7030	return s.String()
7031}
7032
7033// Validate inspects the fields of the type to determine if they are valid.
7034func (s *SamplingRule) Validate() error {
7035	invalidParams := request.ErrInvalidParams{Context: "SamplingRule"}
7036	if s.FixedRate == nil {
7037		invalidParams.Add(request.NewErrParamRequired("FixedRate"))
7038	}
7039	if s.HTTPMethod == nil {
7040		invalidParams.Add(request.NewErrParamRequired("HTTPMethod"))
7041	}
7042	if s.Host == nil {
7043		invalidParams.Add(request.NewErrParamRequired("Host"))
7044	}
7045	if s.Priority == nil {
7046		invalidParams.Add(request.NewErrParamRequired("Priority"))
7047	}
7048	if s.Priority != nil && *s.Priority < 1 {
7049		invalidParams.Add(request.NewErrParamMinValue("Priority", 1))
7050	}
7051	if s.ReservoirSize == nil {
7052		invalidParams.Add(request.NewErrParamRequired("ReservoirSize"))
7053	}
7054	if s.ResourceARN == nil {
7055		invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
7056	}
7057	if s.RuleName != nil && len(*s.RuleName) < 1 {
7058		invalidParams.Add(request.NewErrParamMinLen("RuleName", 1))
7059	}
7060	if s.ServiceName == nil {
7061		invalidParams.Add(request.NewErrParamRequired("ServiceName"))
7062	}
7063	if s.ServiceType == nil {
7064		invalidParams.Add(request.NewErrParamRequired("ServiceType"))
7065	}
7066	if s.URLPath == nil {
7067		invalidParams.Add(request.NewErrParamRequired("URLPath"))
7068	}
7069	if s.Version == nil {
7070		invalidParams.Add(request.NewErrParamRequired("Version"))
7071	}
7072	if s.Version != nil && *s.Version < 1 {
7073		invalidParams.Add(request.NewErrParamMinValue("Version", 1))
7074	}
7075
7076	if invalidParams.Len() > 0 {
7077		return invalidParams
7078	}
7079	return nil
7080}
7081
7082// SetAttributes sets the Attributes field's value.
7083func (s *SamplingRule) SetAttributes(v map[string]*string) *SamplingRule {
7084	s.Attributes = v
7085	return s
7086}
7087
7088// SetFixedRate sets the FixedRate field's value.
7089func (s *SamplingRule) SetFixedRate(v float64) *SamplingRule {
7090	s.FixedRate = &v
7091	return s
7092}
7093
7094// SetHTTPMethod sets the HTTPMethod field's value.
7095func (s *SamplingRule) SetHTTPMethod(v string) *SamplingRule {
7096	s.HTTPMethod = &v
7097	return s
7098}
7099
7100// SetHost sets the Host field's value.
7101func (s *SamplingRule) SetHost(v string) *SamplingRule {
7102	s.Host = &v
7103	return s
7104}
7105
7106// SetPriority sets the Priority field's value.
7107func (s *SamplingRule) SetPriority(v int64) *SamplingRule {
7108	s.Priority = &v
7109	return s
7110}
7111
7112// SetReservoirSize sets the ReservoirSize field's value.
7113func (s *SamplingRule) SetReservoirSize(v int64) *SamplingRule {
7114	s.ReservoirSize = &v
7115	return s
7116}
7117
7118// SetResourceARN sets the ResourceARN field's value.
7119func (s *SamplingRule) SetResourceARN(v string) *SamplingRule {
7120	s.ResourceARN = &v
7121	return s
7122}
7123
7124// SetRuleARN sets the RuleARN field's value.
7125func (s *SamplingRule) SetRuleARN(v string) *SamplingRule {
7126	s.RuleARN = &v
7127	return s
7128}
7129
7130// SetRuleName sets the RuleName field's value.
7131func (s *SamplingRule) SetRuleName(v string) *SamplingRule {
7132	s.RuleName = &v
7133	return s
7134}
7135
7136// SetServiceName sets the ServiceName field's value.
7137func (s *SamplingRule) SetServiceName(v string) *SamplingRule {
7138	s.ServiceName = &v
7139	return s
7140}
7141
7142// SetServiceType sets the ServiceType field's value.
7143func (s *SamplingRule) SetServiceType(v string) *SamplingRule {
7144	s.ServiceType = &v
7145	return s
7146}
7147
7148// SetURLPath sets the URLPath field's value.
7149func (s *SamplingRule) SetURLPath(v string) *SamplingRule {
7150	s.URLPath = &v
7151	return s
7152}
7153
7154// SetVersion sets the Version field's value.
7155func (s *SamplingRule) SetVersion(v int64) *SamplingRule {
7156	s.Version = &v
7157	return s
7158}
7159
7160// A SamplingRule and its metadata.
7161type SamplingRuleRecord struct {
7162	_ struct{} `type:"structure"`
7163
7164	// When the rule was created.
7165	CreatedAt *time.Time `type:"timestamp"`
7166
7167	// When the rule was last modified.
7168	ModifiedAt *time.Time `type:"timestamp"`
7169
7170	// The sampling rule.
7171	SamplingRule *SamplingRule `type:"structure"`
7172}
7173
7174// String returns the string representation
7175func (s SamplingRuleRecord) String() string {
7176	return awsutil.Prettify(s)
7177}
7178
7179// GoString returns the string representation
7180func (s SamplingRuleRecord) GoString() string {
7181	return s.String()
7182}
7183
7184// SetCreatedAt sets the CreatedAt field's value.
7185func (s *SamplingRuleRecord) SetCreatedAt(v time.Time) *SamplingRuleRecord {
7186	s.CreatedAt = &v
7187	return s
7188}
7189
7190// SetModifiedAt sets the ModifiedAt field's value.
7191func (s *SamplingRuleRecord) SetModifiedAt(v time.Time) *SamplingRuleRecord {
7192	s.ModifiedAt = &v
7193	return s
7194}
7195
7196// SetSamplingRule sets the SamplingRule field's value.
7197func (s *SamplingRuleRecord) SetSamplingRule(v *SamplingRule) *SamplingRuleRecord {
7198	s.SamplingRule = v
7199	return s
7200}
7201
7202// A document specifying changes to a sampling rule's configuration.
7203type SamplingRuleUpdate struct {
7204	_ struct{} `type:"structure"`
7205
7206	// Matches attributes derived from the request.
7207	Attributes map[string]*string `type:"map"`
7208
7209	// The percentage of matching requests to instrument, after the reservoir is
7210	// exhausted.
7211	FixedRate *float64 `type:"double"`
7212
7213	// Matches the HTTP method of a request.
7214	HTTPMethod *string `type:"string"`
7215
7216	// Matches the hostname from a request URL.
7217	Host *string `type:"string"`
7218
7219	// The priority of the sampling rule.
7220	Priority *int64 `type:"integer"`
7221
7222	// A fixed number of matching requests to instrument per second, prior to applying
7223	// the fixed rate. The reservoir is not used directly by services, but applies
7224	// to all services using the rule collectively.
7225	ReservoirSize *int64 `type:"integer"`
7226
7227	// Matches the ARN of the AWS resource on which the service runs.
7228	ResourceARN *string `type:"string"`
7229
7230	// The ARN of the sampling rule. Specify a rule by either name or ARN, but not
7231	// both.
7232	RuleARN *string `type:"string"`
7233
7234	// The name of the sampling rule. Specify a rule by either name or ARN, but
7235	// not both.
7236	RuleName *string `min:"1" type:"string"`
7237
7238	// Matches the name that the service uses to identify itself in segments.
7239	ServiceName *string `type:"string"`
7240
7241	// Matches the origin that the service uses to identify its type in segments.
7242	ServiceType *string `type:"string"`
7243
7244	// Matches the path from a request URL.
7245	URLPath *string `type:"string"`
7246}
7247
7248// String returns the string representation
7249func (s SamplingRuleUpdate) String() string {
7250	return awsutil.Prettify(s)
7251}
7252
7253// GoString returns the string representation
7254func (s SamplingRuleUpdate) GoString() string {
7255	return s.String()
7256}
7257
7258// Validate inspects the fields of the type to determine if they are valid.
7259func (s *SamplingRuleUpdate) Validate() error {
7260	invalidParams := request.ErrInvalidParams{Context: "SamplingRuleUpdate"}
7261	if s.RuleName != nil && len(*s.RuleName) < 1 {
7262		invalidParams.Add(request.NewErrParamMinLen("RuleName", 1))
7263	}
7264
7265	if invalidParams.Len() > 0 {
7266		return invalidParams
7267	}
7268	return nil
7269}
7270
7271// SetAttributes sets the Attributes field's value.
7272func (s *SamplingRuleUpdate) SetAttributes(v map[string]*string) *SamplingRuleUpdate {
7273	s.Attributes = v
7274	return s
7275}
7276
7277// SetFixedRate sets the FixedRate field's value.
7278func (s *SamplingRuleUpdate) SetFixedRate(v float64) *SamplingRuleUpdate {
7279	s.FixedRate = &v
7280	return s
7281}
7282
7283// SetHTTPMethod sets the HTTPMethod field's value.
7284func (s *SamplingRuleUpdate) SetHTTPMethod(v string) *SamplingRuleUpdate {
7285	s.HTTPMethod = &v
7286	return s
7287}
7288
7289// SetHost sets the Host field's value.
7290func (s *SamplingRuleUpdate) SetHost(v string) *SamplingRuleUpdate {
7291	s.Host = &v
7292	return s
7293}
7294
7295// SetPriority sets the Priority field's value.
7296func (s *SamplingRuleUpdate) SetPriority(v int64) *SamplingRuleUpdate {
7297	s.Priority = &v
7298	return s
7299}
7300
7301// SetReservoirSize sets the ReservoirSize field's value.
7302func (s *SamplingRuleUpdate) SetReservoirSize(v int64) *SamplingRuleUpdate {
7303	s.ReservoirSize = &v
7304	return s
7305}
7306
7307// SetResourceARN sets the ResourceARN field's value.
7308func (s *SamplingRuleUpdate) SetResourceARN(v string) *SamplingRuleUpdate {
7309	s.ResourceARN = &v
7310	return s
7311}
7312
7313// SetRuleARN sets the RuleARN field's value.
7314func (s *SamplingRuleUpdate) SetRuleARN(v string) *SamplingRuleUpdate {
7315	s.RuleARN = &v
7316	return s
7317}
7318
7319// SetRuleName sets the RuleName field's value.
7320func (s *SamplingRuleUpdate) SetRuleName(v string) *SamplingRuleUpdate {
7321	s.RuleName = &v
7322	return s
7323}
7324
7325// SetServiceName sets the ServiceName field's value.
7326func (s *SamplingRuleUpdate) SetServiceName(v string) *SamplingRuleUpdate {
7327	s.ServiceName = &v
7328	return s
7329}
7330
7331// SetServiceType sets the ServiceType field's value.
7332func (s *SamplingRuleUpdate) SetServiceType(v string) *SamplingRuleUpdate {
7333	s.ServiceType = &v
7334	return s
7335}
7336
7337// SetURLPath sets the URLPath field's value.
7338func (s *SamplingRuleUpdate) SetURLPath(v string) *SamplingRuleUpdate {
7339	s.URLPath = &v
7340	return s
7341}
7342
7343// Aggregated request sampling data for a sampling rule across all services
7344// for a 10-second window.
7345type SamplingStatisticSummary struct {
7346	_ struct{} `type:"structure"`
7347
7348	// The number of requests recorded with borrowed reservoir quota.
7349	BorrowCount *int64 `type:"integer"`
7350
7351	// The number of requests that matched the rule.
7352	RequestCount *int64 `type:"integer"`
7353
7354	// The name of the sampling rule.
7355	RuleName *string `type:"string"`
7356
7357	// The number of requests recorded.
7358	SampledCount *int64 `type:"integer"`
7359
7360	// The start time of the reporting window.
7361	Timestamp *time.Time `type:"timestamp"`
7362}
7363
7364// String returns the string representation
7365func (s SamplingStatisticSummary) String() string {
7366	return awsutil.Prettify(s)
7367}
7368
7369// GoString returns the string representation
7370func (s SamplingStatisticSummary) GoString() string {
7371	return s.String()
7372}
7373
7374// SetBorrowCount sets the BorrowCount field's value.
7375func (s *SamplingStatisticSummary) SetBorrowCount(v int64) *SamplingStatisticSummary {
7376	s.BorrowCount = &v
7377	return s
7378}
7379
7380// SetRequestCount sets the RequestCount field's value.
7381func (s *SamplingStatisticSummary) SetRequestCount(v int64) *SamplingStatisticSummary {
7382	s.RequestCount = &v
7383	return s
7384}
7385
7386// SetRuleName sets the RuleName field's value.
7387func (s *SamplingStatisticSummary) SetRuleName(v string) *SamplingStatisticSummary {
7388	s.RuleName = &v
7389	return s
7390}
7391
7392// SetSampledCount sets the SampledCount field's value.
7393func (s *SamplingStatisticSummary) SetSampledCount(v int64) *SamplingStatisticSummary {
7394	s.SampledCount = &v
7395	return s
7396}
7397
7398// SetTimestamp sets the Timestamp field's value.
7399func (s *SamplingStatisticSummary) SetTimestamp(v time.Time) *SamplingStatisticSummary {
7400	s.Timestamp = &v
7401	return s
7402}
7403
7404// Request sampling results for a single rule from a service. Results are for
7405// the last 10 seconds unless the service has been assigned a longer reporting
7406// interval after a previous call to GetSamplingTargets.
7407type SamplingStatisticsDocument struct {
7408	_ struct{} `type:"structure"`
7409
7410	// The number of requests recorded with borrowed reservoir quota.
7411	BorrowCount *int64 `type:"integer"`
7412
7413	// A unique identifier for the service in hexadecimal.
7414	//
7415	// ClientID is a required field
7416	ClientID *string `min:"24" type:"string" required:"true"`
7417
7418	// The number of requests that matched the rule.
7419	//
7420	// RequestCount is a required field
7421	RequestCount *int64 `type:"integer" required:"true"`
7422
7423	// The name of the sampling rule.
7424	//
7425	// RuleName is a required field
7426	RuleName *string `min:"1" type:"string" required:"true"`
7427
7428	// The number of requests recorded.
7429	//
7430	// SampledCount is a required field
7431	SampledCount *int64 `type:"integer" required:"true"`
7432
7433	// The current time.
7434	//
7435	// Timestamp is a required field
7436	Timestamp *time.Time `type:"timestamp" required:"true"`
7437}
7438
7439// String returns the string representation
7440func (s SamplingStatisticsDocument) String() string {
7441	return awsutil.Prettify(s)
7442}
7443
7444// GoString returns the string representation
7445func (s SamplingStatisticsDocument) GoString() string {
7446	return s.String()
7447}
7448
7449// Validate inspects the fields of the type to determine if they are valid.
7450func (s *SamplingStatisticsDocument) Validate() error {
7451	invalidParams := request.ErrInvalidParams{Context: "SamplingStatisticsDocument"}
7452	if s.ClientID == nil {
7453		invalidParams.Add(request.NewErrParamRequired("ClientID"))
7454	}
7455	if s.ClientID != nil && len(*s.ClientID) < 24 {
7456		invalidParams.Add(request.NewErrParamMinLen("ClientID", 24))
7457	}
7458	if s.RequestCount == nil {
7459		invalidParams.Add(request.NewErrParamRequired("RequestCount"))
7460	}
7461	if s.RuleName == nil {
7462		invalidParams.Add(request.NewErrParamRequired("RuleName"))
7463	}
7464	if s.RuleName != nil && len(*s.RuleName) < 1 {
7465		invalidParams.Add(request.NewErrParamMinLen("RuleName", 1))
7466	}
7467	if s.SampledCount == nil {
7468		invalidParams.Add(request.NewErrParamRequired("SampledCount"))
7469	}
7470	if s.Timestamp == nil {
7471		invalidParams.Add(request.NewErrParamRequired("Timestamp"))
7472	}
7473
7474	if invalidParams.Len() > 0 {
7475		return invalidParams
7476	}
7477	return nil
7478}
7479
7480// SetBorrowCount sets the BorrowCount field's value.
7481func (s *SamplingStatisticsDocument) SetBorrowCount(v int64) *SamplingStatisticsDocument {
7482	s.BorrowCount = &v
7483	return s
7484}
7485
7486// SetClientID sets the ClientID field's value.
7487func (s *SamplingStatisticsDocument) SetClientID(v string) *SamplingStatisticsDocument {
7488	s.ClientID = &v
7489	return s
7490}
7491
7492// SetRequestCount sets the RequestCount field's value.
7493func (s *SamplingStatisticsDocument) SetRequestCount(v int64) *SamplingStatisticsDocument {
7494	s.RequestCount = &v
7495	return s
7496}
7497
7498// SetRuleName sets the RuleName field's value.
7499func (s *SamplingStatisticsDocument) SetRuleName(v string) *SamplingStatisticsDocument {
7500	s.RuleName = &v
7501	return s
7502}
7503
7504// SetSampledCount sets the SampledCount field's value.
7505func (s *SamplingStatisticsDocument) SetSampledCount(v int64) *SamplingStatisticsDocument {
7506	s.SampledCount = &v
7507	return s
7508}
7509
7510// SetTimestamp sets the Timestamp field's value.
7511func (s *SamplingStatisticsDocument) SetTimestamp(v time.Time) *SamplingStatisticsDocument {
7512	s.Timestamp = &v
7513	return s
7514}
7515
7516// The name and value of a sampling rule to apply to a trace summary.
7517type SamplingStrategy struct {
7518	_ struct{} `type:"structure"`
7519
7520	// The name of a sampling rule.
7521	Name *string `type:"string" enum:"SamplingStrategyName"`
7522
7523	// The value of a sampling rule.
7524	Value *float64 `type:"double"`
7525}
7526
7527// String returns the string representation
7528func (s SamplingStrategy) String() string {
7529	return awsutil.Prettify(s)
7530}
7531
7532// GoString returns the string representation
7533func (s SamplingStrategy) GoString() string {
7534	return s.String()
7535}
7536
7537// SetName sets the Name field's value.
7538func (s *SamplingStrategy) SetName(v string) *SamplingStrategy {
7539	s.Name = &v
7540	return s
7541}
7542
7543// SetValue sets the Value field's value.
7544func (s *SamplingStrategy) SetValue(v float64) *SamplingStrategy {
7545	s.Value = &v
7546	return s
7547}
7548
7549// Temporary changes to a sampling rule configuration. To meet the global sampling
7550// target for a rule, X-Ray calculates a new reservoir for each service based
7551// on the recent sampling results of all services that called GetSamplingTargets.
7552type SamplingTargetDocument struct {
7553	_ struct{} `type:"structure"`
7554
7555	// The percentage of matching requests to instrument, after the reservoir is
7556	// exhausted.
7557	FixedRate *float64 `type:"double"`
7558
7559	// The number of seconds for the service to wait before getting sampling targets
7560	// again.
7561	Interval *int64 `type:"integer"`
7562
7563	// The number of requests per second that X-Ray allocated for this service.
7564	ReservoirQuota *int64 `type:"integer"`
7565
7566	// When the reservoir quota expires.
7567	ReservoirQuotaTTL *time.Time `type:"timestamp"`
7568
7569	// The name of the sampling rule.
7570	RuleName *string `type:"string"`
7571}
7572
7573// String returns the string representation
7574func (s SamplingTargetDocument) String() string {
7575	return awsutil.Prettify(s)
7576}
7577
7578// GoString returns the string representation
7579func (s SamplingTargetDocument) GoString() string {
7580	return s.String()
7581}
7582
7583// SetFixedRate sets the FixedRate field's value.
7584func (s *SamplingTargetDocument) SetFixedRate(v float64) *SamplingTargetDocument {
7585	s.FixedRate = &v
7586	return s
7587}
7588
7589// SetInterval sets the Interval field's value.
7590func (s *SamplingTargetDocument) SetInterval(v int64) *SamplingTargetDocument {
7591	s.Interval = &v
7592	return s
7593}
7594
7595// SetReservoirQuota sets the ReservoirQuota field's value.
7596func (s *SamplingTargetDocument) SetReservoirQuota(v int64) *SamplingTargetDocument {
7597	s.ReservoirQuota = &v
7598	return s
7599}
7600
7601// SetReservoirQuotaTTL sets the ReservoirQuotaTTL field's value.
7602func (s *SamplingTargetDocument) SetReservoirQuotaTTL(v time.Time) *SamplingTargetDocument {
7603	s.ReservoirQuotaTTL = &v
7604	return s
7605}
7606
7607// SetRuleName sets the RuleName field's value.
7608func (s *SamplingTargetDocument) SetRuleName(v string) *SamplingTargetDocument {
7609	s.RuleName = &v
7610	return s
7611}
7612
7613// A segment from a trace that has been ingested by the X-Ray service. The segment
7614// can be compiled from documents uploaded with PutTraceSegments, or an inferred
7615// segment for a downstream service, generated from a subsegment sent by the
7616// service that called it.
7617//
7618// For the full segment document schema, see AWS X-Ray Segment Documents (https://docs.aws.amazon.com/xray/latest/devguide/xray-api-segmentdocuments.html)
7619// in the AWS X-Ray Developer Guide.
7620type Segment struct {
7621	_ struct{} `type:"structure"`
7622
7623	// The segment document.
7624	Document *string `min:"1" type:"string"`
7625
7626	// The segment's ID.
7627	Id *string `type:"string"`
7628}
7629
7630// String returns the string representation
7631func (s Segment) String() string {
7632	return awsutil.Prettify(s)
7633}
7634
7635// GoString returns the string representation
7636func (s Segment) GoString() string {
7637	return s.String()
7638}
7639
7640// SetDocument sets the Document field's value.
7641func (s *Segment) SetDocument(v string) *Segment {
7642	s.Document = &v
7643	return s
7644}
7645
7646// SetId sets the Id field's value.
7647func (s *Segment) SetId(v string) *Segment {
7648	s.Id = &v
7649	return s
7650}
7651
7652// Information about an application that processed requests, users that made
7653// requests, or downstream services, resources, and applications that an application
7654// used.
7655type Service struct {
7656	_ struct{} `type:"structure"`
7657
7658	// Identifier of the AWS account in which the service runs.
7659	AccountId *string `type:"string"`
7660
7661	// A histogram that maps the spread of service durations.
7662	DurationHistogram []*HistogramEntry `type:"list"`
7663
7664	// Connections to downstream services.
7665	Edges []*Edge `type:"list"`
7666
7667	// The end time of the last segment that the service generated.
7668	EndTime *time.Time `type:"timestamp"`
7669
7670	// The canonical name of the service.
7671	Name *string `type:"string"`
7672
7673	// A list of names for the service, including the canonical name.
7674	Names []*string `type:"list"`
7675
7676	// Identifier for the service. Unique within the service map.
7677	ReferenceId *int64 `type:"integer"`
7678
7679	// A histogram that maps the spread of service response times.
7680	ResponseTimeHistogram []*HistogramEntry `type:"list"`
7681
7682	// Indicates that the service was the first service to process a request.
7683	Root *bool `type:"boolean"`
7684
7685	// The start time of the first segment that the service generated.
7686	StartTime *time.Time `type:"timestamp"`
7687
7688	// The service's state.
7689	State *string `type:"string"`
7690
7691	// Aggregated statistics for the service.
7692	SummaryStatistics *ServiceStatistics `type:"structure"`
7693
7694	// The type of service.
7695	//
7696	//    * AWS Resource - The type of an AWS resource. For example, AWS::EC2::Instance
7697	//    for an application running on Amazon EC2 or AWS::DynamoDB::Table for an
7698	//    Amazon DynamoDB table that the application used.
7699	//
7700	//    * AWS Service - The type of an AWS service. For example, AWS::DynamoDB
7701	//    for downstream calls to Amazon DynamoDB that didn't target a specific
7702	//    table.
7703	//
7704	//    * client - Represents the clients that sent requests to a root service.
7705	//
7706	//    * remote - A downstream service of indeterminate type.
7707	Type *string `type:"string"`
7708}
7709
7710// String returns the string representation
7711func (s Service) String() string {
7712	return awsutil.Prettify(s)
7713}
7714
7715// GoString returns the string representation
7716func (s Service) GoString() string {
7717	return s.String()
7718}
7719
7720// SetAccountId sets the AccountId field's value.
7721func (s *Service) SetAccountId(v string) *Service {
7722	s.AccountId = &v
7723	return s
7724}
7725
7726// SetDurationHistogram sets the DurationHistogram field's value.
7727func (s *Service) SetDurationHistogram(v []*HistogramEntry) *Service {
7728	s.DurationHistogram = v
7729	return s
7730}
7731
7732// SetEdges sets the Edges field's value.
7733func (s *Service) SetEdges(v []*Edge) *Service {
7734	s.Edges = v
7735	return s
7736}
7737
7738// SetEndTime sets the EndTime field's value.
7739func (s *Service) SetEndTime(v time.Time) *Service {
7740	s.EndTime = &v
7741	return s
7742}
7743
7744// SetName sets the Name field's value.
7745func (s *Service) SetName(v string) *Service {
7746	s.Name = &v
7747	return s
7748}
7749
7750// SetNames sets the Names field's value.
7751func (s *Service) SetNames(v []*string) *Service {
7752	s.Names = v
7753	return s
7754}
7755
7756// SetReferenceId sets the ReferenceId field's value.
7757func (s *Service) SetReferenceId(v int64) *Service {
7758	s.ReferenceId = &v
7759	return s
7760}
7761
7762// SetResponseTimeHistogram sets the ResponseTimeHistogram field's value.
7763func (s *Service) SetResponseTimeHistogram(v []*HistogramEntry) *Service {
7764	s.ResponseTimeHistogram = v
7765	return s
7766}
7767
7768// SetRoot sets the Root field's value.
7769func (s *Service) SetRoot(v bool) *Service {
7770	s.Root = &v
7771	return s
7772}
7773
7774// SetStartTime sets the StartTime field's value.
7775func (s *Service) SetStartTime(v time.Time) *Service {
7776	s.StartTime = &v
7777	return s
7778}
7779
7780// SetState sets the State field's value.
7781func (s *Service) SetState(v string) *Service {
7782	s.State = &v
7783	return s
7784}
7785
7786// SetSummaryStatistics sets the SummaryStatistics field's value.
7787func (s *Service) SetSummaryStatistics(v *ServiceStatistics) *Service {
7788	s.SummaryStatistics = v
7789	return s
7790}
7791
7792// SetType sets the Type field's value.
7793func (s *Service) SetType(v string) *Service {
7794	s.Type = &v
7795	return s
7796}
7797
7798type ServiceId struct {
7799	_ struct{} `type:"structure"`
7800
7801	AccountId *string `type:"string"`
7802
7803	Name *string `type:"string"`
7804
7805	Names []*string `type:"list"`
7806
7807	Type *string `type:"string"`
7808}
7809
7810// String returns the string representation
7811func (s ServiceId) String() string {
7812	return awsutil.Prettify(s)
7813}
7814
7815// GoString returns the string representation
7816func (s ServiceId) GoString() string {
7817	return s.String()
7818}
7819
7820// SetAccountId sets the AccountId field's value.
7821func (s *ServiceId) SetAccountId(v string) *ServiceId {
7822	s.AccountId = &v
7823	return s
7824}
7825
7826// SetName sets the Name field's value.
7827func (s *ServiceId) SetName(v string) *ServiceId {
7828	s.Name = &v
7829	return s
7830}
7831
7832// SetNames sets the Names field's value.
7833func (s *ServiceId) SetNames(v []*string) *ServiceId {
7834	s.Names = v
7835	return s
7836}
7837
7838// SetType sets the Type field's value.
7839func (s *ServiceId) SetType(v string) *ServiceId {
7840	s.Type = &v
7841	return s
7842}
7843
7844// Response statistics for a service.
7845type ServiceStatistics struct {
7846	_ struct{} `type:"structure"`
7847
7848	// Information about requests that failed with a 4xx Client Error status code.
7849	ErrorStatistics *ErrorStatistics `type:"structure"`
7850
7851	// Information about requests that failed with a 5xx Server Error status code.
7852	FaultStatistics *FaultStatistics `type:"structure"`
7853
7854	// The number of requests that completed with a 2xx Success status code.
7855	OkCount *int64 `type:"long"`
7856
7857	// The total number of completed requests.
7858	TotalCount *int64 `type:"long"`
7859
7860	// The aggregate response time of completed requests.
7861	TotalResponseTime *float64 `type:"double"`
7862}
7863
7864// String returns the string representation
7865func (s ServiceStatistics) String() string {
7866	return awsutil.Prettify(s)
7867}
7868
7869// GoString returns the string representation
7870func (s ServiceStatistics) GoString() string {
7871	return s.String()
7872}
7873
7874// SetErrorStatistics sets the ErrorStatistics field's value.
7875func (s *ServiceStatistics) SetErrorStatistics(v *ErrorStatistics) *ServiceStatistics {
7876	s.ErrorStatistics = v
7877	return s
7878}
7879
7880// SetFaultStatistics sets the FaultStatistics field's value.
7881func (s *ServiceStatistics) SetFaultStatistics(v *FaultStatistics) *ServiceStatistics {
7882	s.FaultStatistics = v
7883	return s
7884}
7885
7886// SetOkCount sets the OkCount field's value.
7887func (s *ServiceStatistics) SetOkCount(v int64) *ServiceStatistics {
7888	s.OkCount = &v
7889	return s
7890}
7891
7892// SetTotalCount sets the TotalCount field's value.
7893func (s *ServiceStatistics) SetTotalCount(v int64) *ServiceStatistics {
7894	s.TotalCount = &v
7895	return s
7896}
7897
7898// SetTotalResponseTime sets the TotalResponseTime field's value.
7899func (s *ServiceStatistics) SetTotalResponseTime(v float64) *ServiceStatistics {
7900	s.TotalResponseTime = &v
7901	return s
7902}
7903
7904// A map that contains tag keys and tag values to attach to an AWS X-Ray group
7905// or sampling rule. For more information about ways to use tags, see Tagging
7906// AWS resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html)
7907// in the AWS General Reference.
7908//
7909// The following restrictions apply to tags:
7910//
7911//    * Maximum number of user-applied tags per resource: 50
7912//
7913//    * Tag keys and values are case sensitive.
7914//
7915//    * Don't use aws: as a prefix for keys; it's reserved for AWS use. You
7916//    cannot edit or delete system tags.
7917type Tag struct {
7918	_ struct{} `type:"structure"`
7919
7920	// A tag key, such as Stage or Name. A tag key cannot be empty. The key can
7921	// be a maximum of 128 characters, and can contain only Unicode letters, numbers,
7922	// or separators, or the following special characters: + - = . _ : /
7923	//
7924	// Key is a required field
7925	Key *string `min:"1" type:"string" required:"true"`
7926
7927	// An optional tag value, such as Production or test-only. The value can be
7928	// a maximum of 255 characters, and contain only Unicode letters, numbers, or
7929	// separators, or the following special characters: + - = . _ : /
7930	//
7931	// Value is a required field
7932	Value *string `type:"string" required:"true"`
7933}
7934
7935// String returns the string representation
7936func (s Tag) String() string {
7937	return awsutil.Prettify(s)
7938}
7939
7940// GoString returns the string representation
7941func (s Tag) GoString() string {
7942	return s.String()
7943}
7944
7945// Validate inspects the fields of the type to determine if they are valid.
7946func (s *Tag) Validate() error {
7947	invalidParams := request.ErrInvalidParams{Context: "Tag"}
7948	if s.Key == nil {
7949		invalidParams.Add(request.NewErrParamRequired("Key"))
7950	}
7951	if s.Key != nil && len(*s.Key) < 1 {
7952		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
7953	}
7954	if s.Value == nil {
7955		invalidParams.Add(request.NewErrParamRequired("Value"))
7956	}
7957
7958	if invalidParams.Len() > 0 {
7959		return invalidParams
7960	}
7961	return nil
7962}
7963
7964// SetKey sets the Key field's value.
7965func (s *Tag) SetKey(v string) *Tag {
7966	s.Key = &v
7967	return s
7968}
7969
7970// SetValue sets the Value field's value.
7971func (s *Tag) SetValue(v string) *Tag {
7972	s.Value = &v
7973	return s
7974}
7975
7976type TagResourceInput struct {
7977	_ struct{} `type:"structure"`
7978
7979	// The Amazon Resource Number (ARN) of an X-Ray group or sampling rule.
7980	//
7981	// ResourceARN is a required field
7982	ResourceARN *string `min:"1" type:"string" required:"true"`
7983
7984	// A map that contains one or more tag keys and tag values to attach to an X-Ray
7985	// group or sampling rule. For more information about ways to use tags, see
7986	// Tagging AWS resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html)
7987	// in the AWS General Reference.
7988	//
7989	// The following restrictions apply to tags:
7990	//
7991	//    * Maximum number of user-applied tags per resource: 50
7992	//
7993	//    * Maximum tag key length: 128 Unicode characters
7994	//
7995	//    * Maximum tag value length: 256 Unicode characters
7996	//
7997	//    * Valid values for key and value: a-z, A-Z, 0-9, space, and the following
7998	//    characters: _ . : / = + - and @
7999	//
8000	//    * Tag keys and values are case sensitive.
8001	//
8002	//    * Don't use aws: as a prefix for keys; it's reserved for AWS use. You
8003	//    cannot edit or delete system tags.
8004	//
8005	// Tags is a required field
8006	Tags []*Tag `type:"list" required:"true"`
8007}
8008
8009// String returns the string representation
8010func (s TagResourceInput) String() string {
8011	return awsutil.Prettify(s)
8012}
8013
8014// GoString returns the string representation
8015func (s TagResourceInput) GoString() string {
8016	return s.String()
8017}
8018
8019// Validate inspects the fields of the type to determine if they are valid.
8020func (s *TagResourceInput) Validate() error {
8021	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
8022	if s.ResourceARN == nil {
8023		invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
8024	}
8025	if s.ResourceARN != nil && len(*s.ResourceARN) < 1 {
8026		invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1))
8027	}
8028	if s.Tags == nil {
8029		invalidParams.Add(request.NewErrParamRequired("Tags"))
8030	}
8031	if s.Tags != nil {
8032		for i, v := range s.Tags {
8033			if v == nil {
8034				continue
8035			}
8036			if err := v.Validate(); err != nil {
8037				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
8038			}
8039		}
8040	}
8041
8042	if invalidParams.Len() > 0 {
8043		return invalidParams
8044	}
8045	return nil
8046}
8047
8048// SetResourceARN sets the ResourceARN field's value.
8049func (s *TagResourceInput) SetResourceARN(v string) *TagResourceInput {
8050	s.ResourceARN = &v
8051	return s
8052}
8053
8054// SetTags sets the Tags field's value.
8055func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput {
8056	s.Tags = v
8057	return s
8058}
8059
8060type TagResourceOutput struct {
8061	_ struct{} `type:"structure"`
8062}
8063
8064// String returns the string representation
8065func (s TagResourceOutput) String() string {
8066	return awsutil.Prettify(s)
8067}
8068
8069// GoString returns the string representation
8070func (s TagResourceOutput) GoString() string {
8071	return s.String()
8072}
8073
8074type TelemetryRecord struct {
8075	_ struct{} `type:"structure"`
8076
8077	BackendConnectionErrors *BackendConnectionErrors `type:"structure"`
8078
8079	SegmentsReceivedCount *int64 `type:"integer"`
8080
8081	SegmentsRejectedCount *int64 `type:"integer"`
8082
8083	SegmentsSentCount *int64 `type:"integer"`
8084
8085	SegmentsSpilloverCount *int64 `type:"integer"`
8086
8087	// Timestamp is a required field
8088	Timestamp *time.Time `type:"timestamp" required:"true"`
8089}
8090
8091// String returns the string representation
8092func (s TelemetryRecord) String() string {
8093	return awsutil.Prettify(s)
8094}
8095
8096// GoString returns the string representation
8097func (s TelemetryRecord) GoString() string {
8098	return s.String()
8099}
8100
8101// Validate inspects the fields of the type to determine if they are valid.
8102func (s *TelemetryRecord) Validate() error {
8103	invalidParams := request.ErrInvalidParams{Context: "TelemetryRecord"}
8104	if s.Timestamp == nil {
8105		invalidParams.Add(request.NewErrParamRequired("Timestamp"))
8106	}
8107
8108	if invalidParams.Len() > 0 {
8109		return invalidParams
8110	}
8111	return nil
8112}
8113
8114// SetBackendConnectionErrors sets the BackendConnectionErrors field's value.
8115func (s *TelemetryRecord) SetBackendConnectionErrors(v *BackendConnectionErrors) *TelemetryRecord {
8116	s.BackendConnectionErrors = v
8117	return s
8118}
8119
8120// SetSegmentsReceivedCount sets the SegmentsReceivedCount field's value.
8121func (s *TelemetryRecord) SetSegmentsReceivedCount(v int64) *TelemetryRecord {
8122	s.SegmentsReceivedCount = &v
8123	return s
8124}
8125
8126// SetSegmentsRejectedCount sets the SegmentsRejectedCount field's value.
8127func (s *TelemetryRecord) SetSegmentsRejectedCount(v int64) *TelemetryRecord {
8128	s.SegmentsRejectedCount = &v
8129	return s
8130}
8131
8132// SetSegmentsSentCount sets the SegmentsSentCount field's value.
8133func (s *TelemetryRecord) SetSegmentsSentCount(v int64) *TelemetryRecord {
8134	s.SegmentsSentCount = &v
8135	return s
8136}
8137
8138// SetSegmentsSpilloverCount sets the SegmentsSpilloverCount field's value.
8139func (s *TelemetryRecord) SetSegmentsSpilloverCount(v int64) *TelemetryRecord {
8140	s.SegmentsSpilloverCount = &v
8141	return s
8142}
8143
8144// SetTimestamp sets the Timestamp field's value.
8145func (s *TelemetryRecord) SetTimestamp(v time.Time) *TelemetryRecord {
8146	s.Timestamp = &v
8147	return s
8148}
8149
8150// The request exceeds the maximum number of requests per second.
8151type ThrottledException struct {
8152	_            struct{}                  `type:"structure"`
8153	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
8154
8155	Message_ *string `locationName:"Message" type:"string"`
8156}
8157
8158// String returns the string representation
8159func (s ThrottledException) String() string {
8160	return awsutil.Prettify(s)
8161}
8162
8163// GoString returns the string representation
8164func (s ThrottledException) GoString() string {
8165	return s.String()
8166}
8167
8168func newErrorThrottledException(v protocol.ResponseMetadata) error {
8169	return &ThrottledException{
8170		RespMetadata: v,
8171	}
8172}
8173
8174// Code returns the exception type name.
8175func (s *ThrottledException) Code() string {
8176	return "ThrottledException"
8177}
8178
8179// Message returns the exception's message.
8180func (s *ThrottledException) Message() string {
8181	if s.Message_ != nil {
8182		return *s.Message_
8183	}
8184	return ""
8185}
8186
8187// OrigErr always returns nil, satisfies awserr.Error interface.
8188func (s *ThrottledException) OrigErr() error {
8189	return nil
8190}
8191
8192func (s *ThrottledException) Error() string {
8193	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
8194}
8195
8196// Status code returns the HTTP status code for the request's response error.
8197func (s *ThrottledException) StatusCode() int {
8198	return s.RespMetadata.StatusCode
8199}
8200
8201// RequestID returns the service's response RequestID for request.
8202func (s *ThrottledException) RequestID() string {
8203	return s.RespMetadata.RequestID
8204}
8205
8206// A list of TimeSeriesStatistic structures.
8207type TimeSeriesServiceStatistics struct {
8208	_ struct{} `type:"structure"`
8209
8210	// Response statistics for an edge.
8211	EdgeSummaryStatistics *EdgeStatistics `type:"structure"`
8212
8213	// The response time histogram for the selected entities.
8214	ResponseTimeHistogram []*HistogramEntry `type:"list"`
8215
8216	// The forecasted high and low fault count values.
8217	ServiceForecastStatistics *ForecastStatistics `type:"structure"`
8218
8219	// Response statistics for a service.
8220	ServiceSummaryStatistics *ServiceStatistics `type:"structure"`
8221
8222	// Timestamp of the window for which statistics are aggregated.
8223	Timestamp *time.Time `type:"timestamp"`
8224}
8225
8226// String returns the string representation
8227func (s TimeSeriesServiceStatistics) String() string {
8228	return awsutil.Prettify(s)
8229}
8230
8231// GoString returns the string representation
8232func (s TimeSeriesServiceStatistics) GoString() string {
8233	return s.String()
8234}
8235
8236// SetEdgeSummaryStatistics sets the EdgeSummaryStatistics field's value.
8237func (s *TimeSeriesServiceStatistics) SetEdgeSummaryStatistics(v *EdgeStatistics) *TimeSeriesServiceStatistics {
8238	s.EdgeSummaryStatistics = v
8239	return s
8240}
8241
8242// SetResponseTimeHistogram sets the ResponseTimeHistogram field's value.
8243func (s *TimeSeriesServiceStatistics) SetResponseTimeHistogram(v []*HistogramEntry) *TimeSeriesServiceStatistics {
8244	s.ResponseTimeHistogram = v
8245	return s
8246}
8247
8248// SetServiceForecastStatistics sets the ServiceForecastStatistics field's value.
8249func (s *TimeSeriesServiceStatistics) SetServiceForecastStatistics(v *ForecastStatistics) *TimeSeriesServiceStatistics {
8250	s.ServiceForecastStatistics = v
8251	return s
8252}
8253
8254// SetServiceSummaryStatistics sets the ServiceSummaryStatistics field's value.
8255func (s *TimeSeriesServiceStatistics) SetServiceSummaryStatistics(v *ServiceStatistics) *TimeSeriesServiceStatistics {
8256	s.ServiceSummaryStatistics = v
8257	return s
8258}
8259
8260// SetTimestamp sets the Timestamp field's value.
8261func (s *TimeSeriesServiceStatistics) SetTimestamp(v time.Time) *TimeSeriesServiceStatistics {
8262	s.Timestamp = &v
8263	return s
8264}
8265
8266// You have exceeded the maximum number of tags you can apply to this resource.
8267type TooManyTagsException struct {
8268	_            struct{}                  `type:"structure"`
8269	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
8270
8271	Message_ *string `locationName:"Message" type:"string"`
8272
8273	ResourceName *string `min:"1" type:"string"`
8274}
8275
8276// String returns the string representation
8277func (s TooManyTagsException) String() string {
8278	return awsutil.Prettify(s)
8279}
8280
8281// GoString returns the string representation
8282func (s TooManyTagsException) GoString() string {
8283	return s.String()
8284}
8285
8286func newErrorTooManyTagsException(v protocol.ResponseMetadata) error {
8287	return &TooManyTagsException{
8288		RespMetadata: v,
8289	}
8290}
8291
8292// Code returns the exception type name.
8293func (s *TooManyTagsException) Code() string {
8294	return "TooManyTagsException"
8295}
8296
8297// Message returns the exception's message.
8298func (s *TooManyTagsException) Message() string {
8299	if s.Message_ != nil {
8300		return *s.Message_
8301	}
8302	return ""
8303}
8304
8305// OrigErr always returns nil, satisfies awserr.Error interface.
8306func (s *TooManyTagsException) OrigErr() error {
8307	return nil
8308}
8309
8310func (s *TooManyTagsException) Error() string {
8311	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
8312}
8313
8314// Status code returns the HTTP status code for the request's response error.
8315func (s *TooManyTagsException) StatusCode() int {
8316	return s.RespMetadata.StatusCode
8317}
8318
8319// RequestID returns the service's response RequestID for request.
8320func (s *TooManyTagsException) RequestID() string {
8321	return s.RespMetadata.RequestID
8322}
8323
8324// A collection of segment documents with matching trace IDs.
8325type Trace struct {
8326	_ struct{} `type:"structure"`
8327
8328	// The length of time in seconds between the start time of the root segment
8329	// and the end time of the last segment that completed.
8330	Duration *float64 `type:"double"`
8331
8332	// The unique identifier for the request that generated the trace's segments
8333	// and subsegments.
8334	Id *string `min:"1" type:"string"`
8335
8336	// LimitExceeded is set to true when the trace has exceeded one of the defined
8337	// quotas. For more information about quotas, see AWS X-Ray endpoints and quotas
8338	// (https://docs.aws.amazon.com/general/latest/gr/xray.html).
8339	LimitExceeded *bool `type:"boolean"`
8340
8341	// Segment documents for the segments and subsegments that comprise the trace.
8342	Segments []*Segment `type:"list"`
8343}
8344
8345// String returns the string representation
8346func (s Trace) String() string {
8347	return awsutil.Prettify(s)
8348}
8349
8350// GoString returns the string representation
8351func (s Trace) GoString() string {
8352	return s.String()
8353}
8354
8355// SetDuration sets the Duration field's value.
8356func (s *Trace) SetDuration(v float64) *Trace {
8357	s.Duration = &v
8358	return s
8359}
8360
8361// SetId sets the Id field's value.
8362func (s *Trace) SetId(v string) *Trace {
8363	s.Id = &v
8364	return s
8365}
8366
8367// SetLimitExceeded sets the LimitExceeded field's value.
8368func (s *Trace) SetLimitExceeded(v bool) *Trace {
8369	s.LimitExceeded = &v
8370	return s
8371}
8372
8373// SetSegments sets the Segments field's value.
8374func (s *Trace) SetSegments(v []*Segment) *Trace {
8375	s.Segments = v
8376	return s
8377}
8378
8379// Metadata generated from the segment documents in a trace.
8380type TraceSummary struct {
8381	_ struct{} `type:"structure"`
8382
8383	// Annotations from the trace's segment documents.
8384	Annotations map[string][]*ValueWithServiceIds `type:"map"`
8385
8386	// A list of Availability Zones for any zone corresponding to the trace segments.
8387	AvailabilityZones []*AvailabilityZoneDetail `type:"list"`
8388
8389	// The length of time in seconds between the start time of the root segment
8390	// and the end time of the last segment that completed.
8391	Duration *float64 `type:"double"`
8392
8393	// The root of a trace.
8394	EntryPoint *ServiceId `type:"structure"`
8395
8396	// A collection of ErrorRootCause structures corresponding to the trace segments.
8397	ErrorRootCauses []*ErrorRootCause `type:"list"`
8398
8399	// A collection of FaultRootCause structures corresponding to the trace segments.
8400	FaultRootCauses []*FaultRootCause `type:"list"`
8401
8402	// The root segment document has a 400 series error.
8403	HasError *bool `type:"boolean"`
8404
8405	// The root segment document has a 500 series error.
8406	HasFault *bool `type:"boolean"`
8407
8408	// One or more of the segment documents has a 429 throttling error.
8409	HasThrottle *bool `type:"boolean"`
8410
8411	// Information about the HTTP request served by the trace.
8412	Http *Http `type:"structure"`
8413
8414	// The unique identifier for the request that generated the trace's segments
8415	// and subsegments.
8416	Id *string `min:"1" type:"string"`
8417
8418	// A list of EC2 instance IDs for any instance corresponding to the trace segments.
8419	InstanceIds []*InstanceIdDetail `type:"list"`
8420
8421	// One or more of the segment documents is in progress.
8422	IsPartial *bool `type:"boolean"`
8423
8424	// The matched time stamp of a defined event.
8425	MatchedEventTime *time.Time `type:"timestamp"`
8426
8427	// A list of resource ARNs for any resource corresponding to the trace segments.
8428	ResourceARNs []*ResourceARNDetail `type:"list"`
8429
8430	// The length of time in seconds between the start and end times of the root
8431	// segment. If the service performs work asynchronously, the response time measures
8432	// the time before the response is sent to the user, while the duration measures
8433	// the amount of time before the last traced activity completes.
8434	ResponseTime *float64 `type:"double"`
8435
8436	// A collection of ResponseTimeRootCause structures corresponding to the trace
8437	// segments.
8438	ResponseTimeRootCauses []*ResponseTimeRootCause `type:"list"`
8439
8440	// The revision number of a trace.
8441	Revision *int64 `type:"integer"`
8442
8443	// Service IDs from the trace's segment documents.
8444	ServiceIds []*ServiceId `type:"list"`
8445
8446	// Users from the trace's segment documents.
8447	Users []*TraceUser `type:"list"`
8448}
8449
8450// String returns the string representation
8451func (s TraceSummary) String() string {
8452	return awsutil.Prettify(s)
8453}
8454
8455// GoString returns the string representation
8456func (s TraceSummary) GoString() string {
8457	return s.String()
8458}
8459
8460// SetAnnotations sets the Annotations field's value.
8461func (s *TraceSummary) SetAnnotations(v map[string][]*ValueWithServiceIds) *TraceSummary {
8462	s.Annotations = v
8463	return s
8464}
8465
8466// SetAvailabilityZones sets the AvailabilityZones field's value.
8467func (s *TraceSummary) SetAvailabilityZones(v []*AvailabilityZoneDetail) *TraceSummary {
8468	s.AvailabilityZones = v
8469	return s
8470}
8471
8472// SetDuration sets the Duration field's value.
8473func (s *TraceSummary) SetDuration(v float64) *TraceSummary {
8474	s.Duration = &v
8475	return s
8476}
8477
8478// SetEntryPoint sets the EntryPoint field's value.
8479func (s *TraceSummary) SetEntryPoint(v *ServiceId) *TraceSummary {
8480	s.EntryPoint = v
8481	return s
8482}
8483
8484// SetErrorRootCauses sets the ErrorRootCauses field's value.
8485func (s *TraceSummary) SetErrorRootCauses(v []*ErrorRootCause) *TraceSummary {
8486	s.ErrorRootCauses = v
8487	return s
8488}
8489
8490// SetFaultRootCauses sets the FaultRootCauses field's value.
8491func (s *TraceSummary) SetFaultRootCauses(v []*FaultRootCause) *TraceSummary {
8492	s.FaultRootCauses = v
8493	return s
8494}
8495
8496// SetHasError sets the HasError field's value.
8497func (s *TraceSummary) SetHasError(v bool) *TraceSummary {
8498	s.HasError = &v
8499	return s
8500}
8501
8502// SetHasFault sets the HasFault field's value.
8503func (s *TraceSummary) SetHasFault(v bool) *TraceSummary {
8504	s.HasFault = &v
8505	return s
8506}
8507
8508// SetHasThrottle sets the HasThrottle field's value.
8509func (s *TraceSummary) SetHasThrottle(v bool) *TraceSummary {
8510	s.HasThrottle = &v
8511	return s
8512}
8513
8514// SetHttp sets the Http field's value.
8515func (s *TraceSummary) SetHttp(v *Http) *TraceSummary {
8516	s.Http = v
8517	return s
8518}
8519
8520// SetId sets the Id field's value.
8521func (s *TraceSummary) SetId(v string) *TraceSummary {
8522	s.Id = &v
8523	return s
8524}
8525
8526// SetInstanceIds sets the InstanceIds field's value.
8527func (s *TraceSummary) SetInstanceIds(v []*InstanceIdDetail) *TraceSummary {
8528	s.InstanceIds = v
8529	return s
8530}
8531
8532// SetIsPartial sets the IsPartial field's value.
8533func (s *TraceSummary) SetIsPartial(v bool) *TraceSummary {
8534	s.IsPartial = &v
8535	return s
8536}
8537
8538// SetMatchedEventTime sets the MatchedEventTime field's value.
8539func (s *TraceSummary) SetMatchedEventTime(v time.Time) *TraceSummary {
8540	s.MatchedEventTime = &v
8541	return s
8542}
8543
8544// SetResourceARNs sets the ResourceARNs field's value.
8545func (s *TraceSummary) SetResourceARNs(v []*ResourceARNDetail) *TraceSummary {
8546	s.ResourceARNs = v
8547	return s
8548}
8549
8550// SetResponseTime sets the ResponseTime field's value.
8551func (s *TraceSummary) SetResponseTime(v float64) *TraceSummary {
8552	s.ResponseTime = &v
8553	return s
8554}
8555
8556// SetResponseTimeRootCauses sets the ResponseTimeRootCauses field's value.
8557func (s *TraceSummary) SetResponseTimeRootCauses(v []*ResponseTimeRootCause) *TraceSummary {
8558	s.ResponseTimeRootCauses = v
8559	return s
8560}
8561
8562// SetRevision sets the Revision field's value.
8563func (s *TraceSummary) SetRevision(v int64) *TraceSummary {
8564	s.Revision = &v
8565	return s
8566}
8567
8568// SetServiceIds sets the ServiceIds field's value.
8569func (s *TraceSummary) SetServiceIds(v []*ServiceId) *TraceSummary {
8570	s.ServiceIds = v
8571	return s
8572}
8573
8574// SetUsers sets the Users field's value.
8575func (s *TraceSummary) SetUsers(v []*TraceUser) *TraceSummary {
8576	s.Users = v
8577	return s
8578}
8579
8580// Information about a user recorded in segment documents.
8581type TraceUser struct {
8582	_ struct{} `type:"structure"`
8583
8584	// Services that the user's request hit.
8585	ServiceIds []*ServiceId `type:"list"`
8586
8587	// The user's name.
8588	UserName *string `type:"string"`
8589}
8590
8591// String returns the string representation
8592func (s TraceUser) String() string {
8593	return awsutil.Prettify(s)
8594}
8595
8596// GoString returns the string representation
8597func (s TraceUser) GoString() string {
8598	return s.String()
8599}
8600
8601// SetServiceIds sets the ServiceIds field's value.
8602func (s *TraceUser) SetServiceIds(v []*ServiceId) *TraceUser {
8603	s.ServiceIds = v
8604	return s
8605}
8606
8607// SetUserName sets the UserName field's value.
8608func (s *TraceUser) SetUserName(v string) *TraceUser {
8609	s.UserName = &v
8610	return s
8611}
8612
8613// Sampling statistics from a call to GetSamplingTargets that X-Ray could not
8614// process.
8615type UnprocessedStatistics struct {
8616	_ struct{} `type:"structure"`
8617
8618	// The error code.
8619	ErrorCode *string `type:"string"`
8620
8621	// The error message.
8622	Message *string `type:"string"`
8623
8624	// The name of the sampling rule.
8625	RuleName *string `type:"string"`
8626}
8627
8628// String returns the string representation
8629func (s UnprocessedStatistics) String() string {
8630	return awsutil.Prettify(s)
8631}
8632
8633// GoString returns the string representation
8634func (s UnprocessedStatistics) GoString() string {
8635	return s.String()
8636}
8637
8638// SetErrorCode sets the ErrorCode field's value.
8639func (s *UnprocessedStatistics) SetErrorCode(v string) *UnprocessedStatistics {
8640	s.ErrorCode = &v
8641	return s
8642}
8643
8644// SetMessage sets the Message field's value.
8645func (s *UnprocessedStatistics) SetMessage(v string) *UnprocessedStatistics {
8646	s.Message = &v
8647	return s
8648}
8649
8650// SetRuleName sets the RuleName field's value.
8651func (s *UnprocessedStatistics) SetRuleName(v string) *UnprocessedStatistics {
8652	s.RuleName = &v
8653	return s
8654}
8655
8656// Information about a segment that failed processing.
8657type UnprocessedTraceSegment struct {
8658	_ struct{} `type:"structure"`
8659
8660	// The error that caused processing to fail.
8661	ErrorCode *string `type:"string"`
8662
8663	// The segment's ID.
8664	Id *string `type:"string"`
8665
8666	// The error message.
8667	Message *string `type:"string"`
8668}
8669
8670// String returns the string representation
8671func (s UnprocessedTraceSegment) String() string {
8672	return awsutil.Prettify(s)
8673}
8674
8675// GoString returns the string representation
8676func (s UnprocessedTraceSegment) GoString() string {
8677	return s.String()
8678}
8679
8680// SetErrorCode sets the ErrorCode field's value.
8681func (s *UnprocessedTraceSegment) SetErrorCode(v string) *UnprocessedTraceSegment {
8682	s.ErrorCode = &v
8683	return s
8684}
8685
8686// SetId sets the Id field's value.
8687func (s *UnprocessedTraceSegment) SetId(v string) *UnprocessedTraceSegment {
8688	s.Id = &v
8689	return s
8690}
8691
8692// SetMessage sets the Message field's value.
8693func (s *UnprocessedTraceSegment) SetMessage(v string) *UnprocessedTraceSegment {
8694	s.Message = &v
8695	return s
8696}
8697
8698type UntagResourceInput struct {
8699	_ struct{} `type:"structure"`
8700
8701	// The Amazon Resource Number (ARN) of an X-Ray group or sampling rule.
8702	//
8703	// ResourceARN is a required field
8704	ResourceARN *string `min:"1" type:"string" required:"true"`
8705
8706	// Keys for one or more tags that you want to remove from an X-Ray group or
8707	// sampling rule.
8708	//
8709	// TagKeys is a required field
8710	TagKeys []*string `type:"list" required:"true"`
8711}
8712
8713// String returns the string representation
8714func (s UntagResourceInput) String() string {
8715	return awsutil.Prettify(s)
8716}
8717
8718// GoString returns the string representation
8719func (s UntagResourceInput) GoString() string {
8720	return s.String()
8721}
8722
8723// Validate inspects the fields of the type to determine if they are valid.
8724func (s *UntagResourceInput) Validate() error {
8725	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
8726	if s.ResourceARN == nil {
8727		invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
8728	}
8729	if s.ResourceARN != nil && len(*s.ResourceARN) < 1 {
8730		invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1))
8731	}
8732	if s.TagKeys == nil {
8733		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
8734	}
8735
8736	if invalidParams.Len() > 0 {
8737		return invalidParams
8738	}
8739	return nil
8740}
8741
8742// SetResourceARN sets the ResourceARN field's value.
8743func (s *UntagResourceInput) SetResourceARN(v string) *UntagResourceInput {
8744	s.ResourceARN = &v
8745	return s
8746}
8747
8748// SetTagKeys sets the TagKeys field's value.
8749func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
8750	s.TagKeys = v
8751	return s
8752}
8753
8754type UntagResourceOutput struct {
8755	_ struct{} `type:"structure"`
8756}
8757
8758// String returns the string representation
8759func (s UntagResourceOutput) String() string {
8760	return awsutil.Prettify(s)
8761}
8762
8763// GoString returns the string representation
8764func (s UntagResourceOutput) GoString() string {
8765	return s.String()
8766}
8767
8768type UpdateGroupInput struct {
8769	_ struct{} `type:"structure"`
8770
8771	// The updated filter expression defining criteria by which to group traces.
8772	FilterExpression *string `type:"string"`
8773
8774	// The ARN that was generated upon creation.
8775	GroupARN *string `min:"1" type:"string"`
8776
8777	// The case-sensitive name of the group.
8778	GroupName *string `min:"1" type:"string"`
8779
8780	// The structure containing configurations related to insights.
8781	//
8782	//    * The InsightsEnabled boolean can be set to true to enable insights for
8783	//    the group or false to disable insights for the group.
8784	//
8785	//    * The NotifcationsEnabled boolean can be set to true to enable insights
8786	//    notifications for the group. Notifications can only be enabled on a group
8787	//    with InsightsEnabled set to true.
8788	InsightsConfiguration *InsightsConfiguration `type:"structure"`
8789}
8790
8791// String returns the string representation
8792func (s UpdateGroupInput) String() string {
8793	return awsutil.Prettify(s)
8794}
8795
8796// GoString returns the string representation
8797func (s UpdateGroupInput) GoString() string {
8798	return s.String()
8799}
8800
8801// Validate inspects the fields of the type to determine if they are valid.
8802func (s *UpdateGroupInput) Validate() error {
8803	invalidParams := request.ErrInvalidParams{Context: "UpdateGroupInput"}
8804	if s.GroupARN != nil && len(*s.GroupARN) < 1 {
8805		invalidParams.Add(request.NewErrParamMinLen("GroupARN", 1))
8806	}
8807	if s.GroupName != nil && len(*s.GroupName) < 1 {
8808		invalidParams.Add(request.NewErrParamMinLen("GroupName", 1))
8809	}
8810
8811	if invalidParams.Len() > 0 {
8812		return invalidParams
8813	}
8814	return nil
8815}
8816
8817// SetFilterExpression sets the FilterExpression field's value.
8818func (s *UpdateGroupInput) SetFilterExpression(v string) *UpdateGroupInput {
8819	s.FilterExpression = &v
8820	return s
8821}
8822
8823// SetGroupARN sets the GroupARN field's value.
8824func (s *UpdateGroupInput) SetGroupARN(v string) *UpdateGroupInput {
8825	s.GroupARN = &v
8826	return s
8827}
8828
8829// SetGroupName sets the GroupName field's value.
8830func (s *UpdateGroupInput) SetGroupName(v string) *UpdateGroupInput {
8831	s.GroupName = &v
8832	return s
8833}
8834
8835// SetInsightsConfiguration sets the InsightsConfiguration field's value.
8836func (s *UpdateGroupInput) SetInsightsConfiguration(v *InsightsConfiguration) *UpdateGroupInput {
8837	s.InsightsConfiguration = v
8838	return s
8839}
8840
8841type UpdateGroupOutput struct {
8842	_ struct{} `type:"structure"`
8843
8844	// The group that was updated. Contains the name of the group that was updated,
8845	// the ARN of the group that was updated, the updated filter expression, and
8846	// the updated insight configuration assigned to the group.
8847	Group *Group `type:"structure"`
8848}
8849
8850// String returns the string representation
8851func (s UpdateGroupOutput) String() string {
8852	return awsutil.Prettify(s)
8853}
8854
8855// GoString returns the string representation
8856func (s UpdateGroupOutput) GoString() string {
8857	return s.String()
8858}
8859
8860// SetGroup sets the Group field's value.
8861func (s *UpdateGroupOutput) SetGroup(v *Group) *UpdateGroupOutput {
8862	s.Group = v
8863	return s
8864}
8865
8866type UpdateSamplingRuleInput struct {
8867	_ struct{} `type:"structure"`
8868
8869	// The rule and fields to change.
8870	//
8871	// SamplingRuleUpdate is a required field
8872	SamplingRuleUpdate *SamplingRuleUpdate `type:"structure" required:"true"`
8873}
8874
8875// String returns the string representation
8876func (s UpdateSamplingRuleInput) String() string {
8877	return awsutil.Prettify(s)
8878}
8879
8880// GoString returns the string representation
8881func (s UpdateSamplingRuleInput) GoString() string {
8882	return s.String()
8883}
8884
8885// Validate inspects the fields of the type to determine if they are valid.
8886func (s *UpdateSamplingRuleInput) Validate() error {
8887	invalidParams := request.ErrInvalidParams{Context: "UpdateSamplingRuleInput"}
8888	if s.SamplingRuleUpdate == nil {
8889		invalidParams.Add(request.NewErrParamRequired("SamplingRuleUpdate"))
8890	}
8891	if s.SamplingRuleUpdate != nil {
8892		if err := s.SamplingRuleUpdate.Validate(); err != nil {
8893			invalidParams.AddNested("SamplingRuleUpdate", err.(request.ErrInvalidParams))
8894		}
8895	}
8896
8897	if invalidParams.Len() > 0 {
8898		return invalidParams
8899	}
8900	return nil
8901}
8902
8903// SetSamplingRuleUpdate sets the SamplingRuleUpdate field's value.
8904func (s *UpdateSamplingRuleInput) SetSamplingRuleUpdate(v *SamplingRuleUpdate) *UpdateSamplingRuleInput {
8905	s.SamplingRuleUpdate = v
8906	return s
8907}
8908
8909type UpdateSamplingRuleOutput struct {
8910	_ struct{} `type:"structure"`
8911
8912	// The updated rule definition and metadata.
8913	SamplingRuleRecord *SamplingRuleRecord `type:"structure"`
8914}
8915
8916// String returns the string representation
8917func (s UpdateSamplingRuleOutput) String() string {
8918	return awsutil.Prettify(s)
8919}
8920
8921// GoString returns the string representation
8922func (s UpdateSamplingRuleOutput) GoString() string {
8923	return s.String()
8924}
8925
8926// SetSamplingRuleRecord sets the SamplingRuleRecord field's value.
8927func (s *UpdateSamplingRuleOutput) SetSamplingRuleRecord(v *SamplingRuleRecord) *UpdateSamplingRuleOutput {
8928	s.SamplingRuleRecord = v
8929	return s
8930}
8931
8932// Information about a segment annotation.
8933type ValueWithServiceIds struct {
8934	_ struct{} `type:"structure"`
8935
8936	// Values of the annotation.
8937	AnnotationValue *AnnotationValue `type:"structure"`
8938
8939	// Services to which the annotation applies.
8940	ServiceIds []*ServiceId `type:"list"`
8941}
8942
8943// String returns the string representation
8944func (s ValueWithServiceIds) String() string {
8945	return awsutil.Prettify(s)
8946}
8947
8948// GoString returns the string representation
8949func (s ValueWithServiceIds) GoString() string {
8950	return s.String()
8951}
8952
8953// SetAnnotationValue sets the AnnotationValue field's value.
8954func (s *ValueWithServiceIds) SetAnnotationValue(v *AnnotationValue) *ValueWithServiceIds {
8955	s.AnnotationValue = v
8956	return s
8957}
8958
8959// SetServiceIds sets the ServiceIds field's value.
8960func (s *ValueWithServiceIds) SetServiceIds(v []*ServiceId) *ValueWithServiceIds {
8961	s.ServiceIds = v
8962	return s
8963}
8964
8965const (
8966	// EncryptionStatusUpdating is a EncryptionStatus enum value
8967	EncryptionStatusUpdating = "UPDATING"
8968
8969	// EncryptionStatusActive is a EncryptionStatus enum value
8970	EncryptionStatusActive = "ACTIVE"
8971)
8972
8973// EncryptionStatus_Values returns all elements of the EncryptionStatus enum
8974func EncryptionStatus_Values() []string {
8975	return []string{
8976		EncryptionStatusUpdating,
8977		EncryptionStatusActive,
8978	}
8979}
8980
8981const (
8982	// EncryptionTypeNone is a EncryptionType enum value
8983	EncryptionTypeNone = "NONE"
8984
8985	// EncryptionTypeKms is a EncryptionType enum value
8986	EncryptionTypeKms = "KMS"
8987)
8988
8989// EncryptionType_Values returns all elements of the EncryptionType enum
8990func EncryptionType_Values() []string {
8991	return []string{
8992		EncryptionTypeNone,
8993		EncryptionTypeKms,
8994	}
8995}
8996
8997const (
8998	// InsightCategoryFault is a InsightCategory enum value
8999	InsightCategoryFault = "FAULT"
9000)
9001
9002// InsightCategory_Values returns all elements of the InsightCategory enum
9003func InsightCategory_Values() []string {
9004	return []string{
9005		InsightCategoryFault,
9006	}
9007}
9008
9009const (
9010	// InsightStateActive is a InsightState enum value
9011	InsightStateActive = "ACTIVE"
9012
9013	// InsightStateClosed is a InsightState enum value
9014	InsightStateClosed = "CLOSED"
9015)
9016
9017// InsightState_Values returns all elements of the InsightState enum
9018func InsightState_Values() []string {
9019	return []string{
9020		InsightStateActive,
9021		InsightStateClosed,
9022	}
9023}
9024
9025const (
9026	// SamplingStrategyNamePartialScan is a SamplingStrategyName enum value
9027	SamplingStrategyNamePartialScan = "PartialScan"
9028
9029	// SamplingStrategyNameFixedRate is a SamplingStrategyName enum value
9030	SamplingStrategyNameFixedRate = "FixedRate"
9031)
9032
9033// SamplingStrategyName_Values returns all elements of the SamplingStrategyName enum
9034func SamplingStrategyName_Values() []string {
9035	return []string{
9036		SamplingStrategyNamePartialScan,
9037		SamplingStrategyNameFixedRate,
9038	}
9039}
9040
9041const (
9042	// TimeRangeTypeTraceId is a TimeRangeType enum value
9043	TimeRangeTypeTraceId = "TraceId"
9044
9045	// TimeRangeTypeEvent is a TimeRangeType enum value
9046	TimeRangeTypeEvent = "Event"
9047)
9048
9049// TimeRangeType_Values returns all elements of the TimeRangeType enum
9050func TimeRangeType_Values() []string {
9051	return []string{
9052		TimeRangeTypeTraceId,
9053		TimeRangeTypeEvent,
9054	}
9055}
9056