rclone/vendor/github.com/aws/aws-sdk-go/service/xray/api.go

2438 lines
73 KiB
Go
Raw Normal View History

// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
package xray
import (
"fmt"
"time"
"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/awsutil"
"github.com/aws/aws-sdk-go/aws/request"
)
const opBatchGetTraces = "BatchGetTraces"
// BatchGetTracesRequest generates a "aws/request.Request" representing the
// client's request for the BatchGetTraces operation. The "output" return
// value will be populated with the request's response once the request complets
// successfuly.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See BatchGetTraces for more information on using the BatchGetTraces
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//
// // Example sending a request using the BatchGetTracesRequest method.
// req, resp := client.BatchGetTracesRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/BatchGetTraces
func (c *XRay) BatchGetTracesRequest(input *BatchGetTracesInput) (req *request.Request, output *BatchGetTracesOutput) {
op := &request.Operation{
Name: opBatchGetTraces,
HTTPMethod: "POST",
HTTPPath: "/Traces",
Paginator: &request.Paginator{
InputTokens: []string{"NextToken"},
OutputTokens: []string{"NextToken"},
LimitToken: "",
TruncationToken: "",
},
}
if input == nil {
input = &BatchGetTracesInput{}
}
output = &BatchGetTracesOutput{}
req = c.newRequest(op, input, output)
return
}
// BatchGetTraces API operation for AWS X-Ray.
//
// Retrieves a list of traces specified by ID. Each trace is a collection of
// segment documents that originates from a single request. Use GetTraceSummaries
// to get a list of trace IDs.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for AWS X-Ray's
// API operation BatchGetTraces for usage and error information.
//
// Returned Error Codes:
// * ErrCodeInvalidRequestException "InvalidRequestException"
// The request is missing required parameters or has invalid parameters.
//
// * ErrCodeThrottledException "ThrottledException"
// The request exceeds the maximum number of requests per second.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/BatchGetTraces
func (c *XRay) BatchGetTraces(input *BatchGetTracesInput) (*BatchGetTracesOutput, error) {
req, out := c.BatchGetTracesRequest(input)
return out, req.Send()
}
// BatchGetTracesWithContext is the same as BatchGetTraces with the addition of
// the ability to pass a context and additional request options.
//
// See BatchGetTraces for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *XRay) BatchGetTracesWithContext(ctx aws.Context, input *BatchGetTracesInput, opts ...request.Option) (*BatchGetTracesOutput, error) {
req, out := c.BatchGetTracesRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
// BatchGetTracesPages iterates over the pages of a BatchGetTraces operation,
// calling the "fn" function with the response data for each page. To stop
// iterating, return false from the fn function.
//
// See BatchGetTraces method for more information on how to use this operation.
//
// Note: This operation can generate multiple requests to a service.
//
// // Example iterating over at most 3 pages of a BatchGetTraces operation.
// pageNum := 0
// err := client.BatchGetTracesPages(params,
// func(page *BatchGetTracesOutput, lastPage bool) bool {
// pageNum++
// fmt.Println(page)
// return pageNum <= 3
// })
//
func (c *XRay) BatchGetTracesPages(input *BatchGetTracesInput, fn func(*BatchGetTracesOutput, bool) bool) error {
return c.BatchGetTracesPagesWithContext(aws.BackgroundContext(), input, fn)
}
// BatchGetTracesPagesWithContext same as BatchGetTracesPages except
// it takes a Context and allows setting request options on the pages.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *XRay) BatchGetTracesPagesWithContext(ctx aws.Context, input *BatchGetTracesInput, fn func(*BatchGetTracesOutput, bool) bool, opts ...request.Option) error {
p := request.Pagination{
NewRequest: func() (*request.Request, error) {
var inCpy *BatchGetTracesInput
if input != nil {
tmp := *input
inCpy = &tmp
}
req, _ := c.BatchGetTracesRequest(inCpy)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return req, nil
},
}
cont := true
for p.Next() && cont {
cont = fn(p.Page().(*BatchGetTracesOutput), !p.HasNextPage())
}
return p.Err()
}
const opGetServiceGraph = "GetServiceGraph"
// GetServiceGraphRequest generates a "aws/request.Request" representing the
// client's request for the GetServiceGraph operation. The "output" return
// value will be populated with the request's response once the request complets
// successfuly.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See GetServiceGraph for more information on using the GetServiceGraph
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//
// // Example sending a request using the GetServiceGraphRequest method.
// req, resp := client.GetServiceGraphRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetServiceGraph
func (c *XRay) GetServiceGraphRequest(input *GetServiceGraphInput) (req *request.Request, output *GetServiceGraphOutput) {
op := &request.Operation{
Name: opGetServiceGraph,
HTTPMethod: "POST",
HTTPPath: "/ServiceGraph",
Paginator: &request.Paginator{
InputTokens: []string{"NextToken"},
OutputTokens: []string{"NextToken"},
LimitToken: "",
TruncationToken: "",
},
}
if input == nil {
input = &GetServiceGraphInput{}
}
output = &GetServiceGraphOutput{}
req = c.newRequest(op, input, output)
return
}
// GetServiceGraph API operation for AWS X-Ray.
//
// Retrieves a document that describes services that process incoming requests,
// and downstream services that they call as a result. Root services process
// incoming requests and make calls to downstream services. Root services are
// applications that use the AWS X-Ray SDK. Downstream services can be other
// applications, AWS resources, HTTP web APIs, or SQL databases.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for AWS X-Ray's
// API operation GetServiceGraph for usage and error information.
//
// Returned Error Codes:
// * ErrCodeInvalidRequestException "InvalidRequestException"
// The request is missing required parameters or has invalid parameters.
//
// * ErrCodeThrottledException "ThrottledException"
// The request exceeds the maximum number of requests per second.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetServiceGraph
func (c *XRay) GetServiceGraph(input *GetServiceGraphInput) (*GetServiceGraphOutput, error) {
req, out := c.GetServiceGraphRequest(input)
return out, req.Send()
}
// GetServiceGraphWithContext is the same as GetServiceGraph with the addition of
// the ability to pass a context and additional request options.
//
// See GetServiceGraph for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *XRay) GetServiceGraphWithContext(ctx aws.Context, input *GetServiceGraphInput, opts ...request.Option) (*GetServiceGraphOutput, error) {
req, out := c.GetServiceGraphRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
// GetServiceGraphPages iterates over the pages of a GetServiceGraph operation,
// calling the "fn" function with the response data for each page. To stop
// iterating, return false from the fn function.
//
// See GetServiceGraph method for more information on how to use this operation.
//
// Note: This operation can generate multiple requests to a service.
//
// // Example iterating over at most 3 pages of a GetServiceGraph operation.
// pageNum := 0
// err := client.GetServiceGraphPages(params,
// func(page *GetServiceGraphOutput, lastPage bool) bool {
// pageNum++
// fmt.Println(page)
// return pageNum <= 3
// })
//
func (c *XRay) GetServiceGraphPages(input *GetServiceGraphInput, fn func(*GetServiceGraphOutput, bool) bool) error {
return c.GetServiceGraphPagesWithContext(aws.BackgroundContext(), input, fn)
}
// GetServiceGraphPagesWithContext same as GetServiceGraphPages except
// it takes a Context and allows setting request options on the pages.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *XRay) GetServiceGraphPagesWithContext(ctx aws.Context, input *GetServiceGraphInput, fn func(*GetServiceGraphOutput, bool) bool, opts ...request.Option) error {
p := request.Pagination{
NewRequest: func() (*request.Request, error) {
var inCpy *GetServiceGraphInput
if input != nil {
tmp := *input
inCpy = &tmp
}
req, _ := c.GetServiceGraphRequest(inCpy)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return req, nil
},
}
cont := true
for p.Next() && cont {
cont = fn(p.Page().(*GetServiceGraphOutput), !p.HasNextPage())
}
return p.Err()
}
const opGetTraceGraph = "GetTraceGraph"
// GetTraceGraphRequest generates a "aws/request.Request" representing the
// client's request for the GetTraceGraph operation. The "output" return
// value will be populated with the request's response once the request complets
// successfuly.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See GetTraceGraph for more information on using the GetTraceGraph
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//
// // Example sending a request using the GetTraceGraphRequest method.
// req, resp := client.GetTraceGraphRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetTraceGraph
func (c *XRay) GetTraceGraphRequest(input *GetTraceGraphInput) (req *request.Request, output *GetTraceGraphOutput) {
op := &request.Operation{
Name: opGetTraceGraph,
HTTPMethod: "POST",
HTTPPath: "/TraceGraph",
Paginator: &request.Paginator{
InputTokens: []string{"NextToken"},
OutputTokens: []string{"NextToken"},
LimitToken: "",
TruncationToken: "",
},
}
if input == nil {
input = &GetTraceGraphInput{}
}
output = &GetTraceGraphOutput{}
req = c.newRequest(op, input, output)
return
}
// GetTraceGraph API operation for AWS X-Ray.
//
// Retrieves a service graph for one or more specific trace IDs.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for AWS X-Ray's
// API operation GetTraceGraph for usage and error information.
//
// Returned Error Codes:
// * ErrCodeInvalidRequestException "InvalidRequestException"
// The request is missing required parameters or has invalid parameters.
//
// * ErrCodeThrottledException "ThrottledException"
// The request exceeds the maximum number of requests per second.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetTraceGraph
func (c *XRay) GetTraceGraph(input *GetTraceGraphInput) (*GetTraceGraphOutput, error) {
req, out := c.GetTraceGraphRequest(input)
return out, req.Send()
}
// GetTraceGraphWithContext is the same as GetTraceGraph with the addition of
// the ability to pass a context and additional request options.
//
// See GetTraceGraph for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *XRay) GetTraceGraphWithContext(ctx aws.Context, input *GetTraceGraphInput, opts ...request.Option) (*GetTraceGraphOutput, error) {
req, out := c.GetTraceGraphRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
// GetTraceGraphPages iterates over the pages of a GetTraceGraph operation,
// calling the "fn" function with the response data for each page. To stop
// iterating, return false from the fn function.
//
// See GetTraceGraph method for more information on how to use this operation.
//
// Note: This operation can generate multiple requests to a service.
//
// // Example iterating over at most 3 pages of a GetTraceGraph operation.
// pageNum := 0
// err := client.GetTraceGraphPages(params,
// func(page *GetTraceGraphOutput, lastPage bool) bool {
// pageNum++
// fmt.Println(page)
// return pageNum <= 3
// })
//
func (c *XRay) GetTraceGraphPages(input *GetTraceGraphInput, fn func(*GetTraceGraphOutput, bool) bool) error {
return c.GetTraceGraphPagesWithContext(aws.BackgroundContext(), input, fn)
}
// GetTraceGraphPagesWithContext same as GetTraceGraphPages except
// it takes a Context and allows setting request options on the pages.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *XRay) GetTraceGraphPagesWithContext(ctx aws.Context, input *GetTraceGraphInput, fn func(*GetTraceGraphOutput, bool) bool, opts ...request.Option) error {
p := request.Pagination{
NewRequest: func() (*request.Request, error) {
var inCpy *GetTraceGraphInput
if input != nil {
tmp := *input
inCpy = &tmp
}
req, _ := c.GetTraceGraphRequest(inCpy)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return req, nil
},
}
cont := true
for p.Next() && cont {
cont = fn(p.Page().(*GetTraceGraphOutput), !p.HasNextPage())
}
return p.Err()
}
const opGetTraceSummaries = "GetTraceSummaries"
// GetTraceSummariesRequest generates a "aws/request.Request" representing the
// client's request for the GetTraceSummaries operation. The "output" return
// value will be populated with the request's response once the request complets
// successfuly.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See GetTraceSummaries for more information on using the GetTraceSummaries
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//
// // Example sending a request using the GetTraceSummariesRequest method.
// req, resp := client.GetTraceSummariesRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetTraceSummaries
func (c *XRay) GetTraceSummariesRequest(input *GetTraceSummariesInput) (req *request.Request, output *GetTraceSummariesOutput) {
op := &request.Operation{
Name: opGetTraceSummaries,
HTTPMethod: "POST",
HTTPPath: "/TraceSummaries",
Paginator: &request.Paginator{
InputTokens: []string{"NextToken"},
OutputTokens: []string{"NextToken"},
LimitToken: "",
TruncationToken: "",
},
}
if input == nil {
input = &GetTraceSummariesInput{}
}
output = &GetTraceSummariesOutput{}
req = c.newRequest(op, input, output)
return
}
// GetTraceSummaries API operation for AWS X-Ray.
//
// Retrieves IDs and metadata for traces available for a specified time frame
// using an optional filter. To get the full traces, pass the trace IDs to BatchGetTraces.
//
2017-07-23 09:51:42 +02:00
// A filter expression can target traced requests that hit specific service
// nodes or edges, have errors, or come from a known user. For example, the
// following filter expression targets traces that pass through api.example.com:
//
// service("api.example.com")
//
// This filter expression finds traces that have an annotation named account
// with the value 12345:
//
// annotation.account = "12345"
//
// For a full list of indexed fields and keywords that you can use in filter
// expressions, see Using Filter Expressions (http://docs.aws.amazon.com/xray/latest/devguide/xray-console-filters.html)
// in the AWS X-Ray Developer Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for AWS X-Ray's
// API operation GetTraceSummaries for usage and error information.
//
// Returned Error Codes:
// * ErrCodeInvalidRequestException "InvalidRequestException"
// The request is missing required parameters or has invalid parameters.
//
// * ErrCodeThrottledException "ThrottledException"
// The request exceeds the maximum number of requests per second.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetTraceSummaries
func (c *XRay) GetTraceSummaries(input *GetTraceSummariesInput) (*GetTraceSummariesOutput, error) {
req, out := c.GetTraceSummariesRequest(input)
return out, req.Send()
}
// GetTraceSummariesWithContext is the same as GetTraceSummaries with the addition of
// the ability to pass a context and additional request options.
//
// See GetTraceSummaries for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *XRay) GetTraceSummariesWithContext(ctx aws.Context, input *GetTraceSummariesInput, opts ...request.Option) (*GetTraceSummariesOutput, error) {
req, out := c.GetTraceSummariesRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
// GetTraceSummariesPages iterates over the pages of a GetTraceSummaries operation,
// calling the "fn" function with the response data for each page. To stop
// iterating, return false from the fn function.
//
// See GetTraceSummaries method for more information on how to use this operation.
//
// Note: This operation can generate multiple requests to a service.
//
// // Example iterating over at most 3 pages of a GetTraceSummaries operation.
// pageNum := 0
// err := client.GetTraceSummariesPages(params,
// func(page *GetTraceSummariesOutput, lastPage bool) bool {
// pageNum++
// fmt.Println(page)
// return pageNum <= 3
// })
//
func (c *XRay) GetTraceSummariesPages(input *GetTraceSummariesInput, fn func(*GetTraceSummariesOutput, bool) bool) error {
return c.GetTraceSummariesPagesWithContext(aws.BackgroundContext(), input, fn)
}
// GetTraceSummariesPagesWithContext same as GetTraceSummariesPages except
// it takes a Context and allows setting request options on the pages.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *XRay) GetTraceSummariesPagesWithContext(ctx aws.Context, input *GetTraceSummariesInput, fn func(*GetTraceSummariesOutput, bool) bool, opts ...request.Option) error {
p := request.Pagination{
NewRequest: func() (*request.Request, error) {
var inCpy *GetTraceSummariesInput
if input != nil {
tmp := *input
inCpy = &tmp
}
req, _ := c.GetTraceSummariesRequest(inCpy)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return req, nil
},
}
cont := true
for p.Next() && cont {
cont = fn(p.Page().(*GetTraceSummariesOutput), !p.HasNextPage())
}
return p.Err()
}
const opPutTelemetryRecords = "PutTelemetryRecords"
// PutTelemetryRecordsRequest generates a "aws/request.Request" representing the
// client's request for the PutTelemetryRecords operation. The "output" return
// value will be populated with the request's response once the request complets
// successfuly.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See PutTelemetryRecords for more information on using the PutTelemetryRecords
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//
// // Example sending a request using the PutTelemetryRecordsRequest method.
// req, resp := client.PutTelemetryRecordsRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/PutTelemetryRecords
func (c *XRay) PutTelemetryRecordsRequest(input *PutTelemetryRecordsInput) (req *request.Request, output *PutTelemetryRecordsOutput) {
op := &request.Operation{
Name: opPutTelemetryRecords,
HTTPMethod: "POST",
HTTPPath: "/TelemetryRecords",
}
if input == nil {
input = &PutTelemetryRecordsInput{}
}
output = &PutTelemetryRecordsOutput{}
req = c.newRequest(op, input, output)
return
}
// PutTelemetryRecords API operation for AWS X-Ray.
//
// Used by the AWS X-Ray daemon to upload telemetry.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for AWS X-Ray's
// API operation PutTelemetryRecords for usage and error information.
//
// Returned Error Codes:
// * ErrCodeInvalidRequestException "InvalidRequestException"
// The request is missing required parameters or has invalid parameters.
//
// * ErrCodeThrottledException "ThrottledException"
// The request exceeds the maximum number of requests per second.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/PutTelemetryRecords
func (c *XRay) PutTelemetryRecords(input *PutTelemetryRecordsInput) (*PutTelemetryRecordsOutput, error) {
req, out := c.PutTelemetryRecordsRequest(input)
return out, req.Send()
}
// PutTelemetryRecordsWithContext is the same as PutTelemetryRecords with the addition of
// the ability to pass a context and additional request options.
//
// See PutTelemetryRecords for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *XRay) PutTelemetryRecordsWithContext(ctx aws.Context, input *PutTelemetryRecordsInput, opts ...request.Option) (*PutTelemetryRecordsOutput, error) {
req, out := c.PutTelemetryRecordsRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opPutTraceSegments = "PutTraceSegments"
// PutTraceSegmentsRequest generates a "aws/request.Request" representing the
// client's request for the PutTraceSegments operation. The "output" return
// value will be populated with the request's response once the request complets
// successfuly.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See PutTraceSegments for more information on using the PutTraceSegments
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//
// // Example sending a request using the PutTraceSegmentsRequest method.
// req, resp := client.PutTraceSegmentsRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/PutTraceSegments
func (c *XRay) PutTraceSegmentsRequest(input *PutTraceSegmentsInput) (req *request.Request, output *PutTraceSegmentsOutput) {
op := &request.Operation{
Name: opPutTraceSegments,
HTTPMethod: "POST",
HTTPPath: "/TraceSegments",
}
if input == nil {
input = &PutTraceSegmentsInput{}
}
output = &PutTraceSegmentsOutput{}
req = c.newRequest(op, input, output)
return
}
// PutTraceSegments API operation for AWS X-Ray.
//
// Uploads segment documents to AWS X-Ray. The X-Ray SDK generates segment documents
// and sends them to the X-Ray daemon, which uploads them in batches. A segment
// document can be a completed segment, an in-progress segment, or an array
// of subsegments.
//
2017-07-23 09:51:42 +02:00
// Segments must include the following fields. For the full segment document
// schema, see AWS X-Ray Segment Documents (http://docs.aws.amazon.com/xray/latest/devguide/xray-api-segmentdocuments.html)
// in the AWS X-Ray Developer Guide.
//
// Required Segment Document Fields
//
// * name - The name of the service that handled the request.
//
// * id - A 64-bit identifier for the segment, unique among segments in the
// same trace, in 16 hexadecimal digits.
//
// * trace_id - A unique identifier that connects all segments and subsegments
// originating from a single client request.
//
// * start_time - Time the segment or subsegment was created, in floating
// point seconds in epoch time, accurate to milliseconds. For example, 1480615200.010
// or 1.480615200010E9.
//
// * end_time - Time the segment or subsegment was closed. For example, 1480615200.090
// or 1.480615200090E9. Specify either an end_time or in_progress.
//
// * in_progress - Set to true instead of specifying an end_time to record
// that a segment has been started, but is not complete. Send an in progress
// segment when your application receives a request that will take a long
// time to serve, to trace the fact that the request was received. When the
// response is sent, send the complete segment to overwrite the in-progress
// segment.
//
// A trace_id consists of three numbers separated by hyphens. For example, 1-58406520-a006649127e371903a2de979.
// This includes:
//
// Trace ID Format
//
// * The version number, i.e. 1.
//
// * The time of the original request, in Unix epoch time, in 8 hexadecimal
// digits. For example, 10:00AM December 2nd, 2016 PST in epoch time is 1480615200
// seconds, or 58406520 in hexadecimal.
//
// * A 96-bit identifier for the trace, globally unique, in 24 hexadecimal
// digits.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for AWS X-Ray's
// API operation PutTraceSegments for usage and error information.
//
// Returned Error Codes:
// * ErrCodeInvalidRequestException "InvalidRequestException"
// The request is missing required parameters or has invalid parameters.
//
// * ErrCodeThrottledException "ThrottledException"
// The request exceeds the maximum number of requests per second.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/PutTraceSegments
func (c *XRay) PutTraceSegments(input *PutTraceSegmentsInput) (*PutTraceSegmentsOutput, error) {
req, out := c.PutTraceSegmentsRequest(input)
return out, req.Send()
}
// PutTraceSegmentsWithContext is the same as PutTraceSegments with the addition of
// the ability to pass a context and additional request options.
//
// See PutTraceSegments for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *XRay) PutTraceSegmentsWithContext(ctx aws.Context, input *PutTraceSegmentsInput, opts ...request.Option) (*PutTraceSegmentsOutput, error) {
req, out := c.PutTraceSegmentsRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
// An alias for an edge.
type Alias struct {
_ struct{} `type:"structure"`
// The canonical name of the alias.
Name *string `type:"string"`
// A list of names for the alias, including the canonical name.
Names []*string `type:"list"`
// The type of the alias.
Type *string `type:"string"`
}
// String returns the string representation
func (s Alias) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s Alias) GoString() string {
return s.String()
}
// SetName sets the Name field's value.
func (s *Alias) SetName(v string) *Alias {
s.Name = &v
return s
}
// SetNames sets the Names field's value.
func (s *Alias) SetNames(v []*string) *Alias {
s.Names = v
return s
}
// SetType sets the Type field's value.
func (s *Alias) SetType(v string) *Alias {
s.Type = &v
return s
}
// Value of a segment annotation. Has one of three value types: Number, Boolean
// or String.
type AnnotationValue struct {
_ struct{} `type:"structure"`
// Value for a Boolean annotation.
BooleanValue *bool `type:"boolean"`
// Value for a Number annotation.
NumberValue *float64 `type:"double"`
// Value for a String annotation.
StringValue *string `type:"string"`
}
// String returns the string representation
func (s AnnotationValue) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s AnnotationValue) GoString() string {
return s.String()
}
// SetBooleanValue sets the BooleanValue field's value.
func (s *AnnotationValue) SetBooleanValue(v bool) *AnnotationValue {
s.BooleanValue = &v
return s
}
// SetNumberValue sets the NumberValue field's value.
func (s *AnnotationValue) SetNumberValue(v float64) *AnnotationValue {
s.NumberValue = &v
return s
}
// SetStringValue sets the StringValue field's value.
func (s *AnnotationValue) SetStringValue(v string) *AnnotationValue {
s.StringValue = &v
return s
}
type BackendConnectionErrors struct {
_ struct{} `type:"structure"`
ConnectionRefusedCount *int64 `type:"integer"`
HTTPCode4XXCount *int64 `type:"integer"`
HTTPCode5XXCount *int64 `type:"integer"`
OtherCount *int64 `type:"integer"`
TimeoutCount *int64 `type:"integer"`
UnknownHostCount *int64 `type:"integer"`
}
// String returns the string representation
func (s BackendConnectionErrors) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s BackendConnectionErrors) GoString() string {
return s.String()
}
// SetConnectionRefusedCount sets the ConnectionRefusedCount field's value.
func (s *BackendConnectionErrors) SetConnectionRefusedCount(v int64) *BackendConnectionErrors {
s.ConnectionRefusedCount = &v
return s
}
// SetHTTPCode4XXCount sets the HTTPCode4XXCount field's value.
func (s *BackendConnectionErrors) SetHTTPCode4XXCount(v int64) *BackendConnectionErrors {
s.HTTPCode4XXCount = &v
return s
}
// SetHTTPCode5XXCount sets the HTTPCode5XXCount field's value.
func (s *BackendConnectionErrors) SetHTTPCode5XXCount(v int64) *BackendConnectionErrors {
s.HTTPCode5XXCount = &v
return s
}
// SetOtherCount sets the OtherCount field's value.
func (s *BackendConnectionErrors) SetOtherCount(v int64) *BackendConnectionErrors {
s.OtherCount = &v
return s
}
// SetTimeoutCount sets the TimeoutCount field's value.
func (s *BackendConnectionErrors) SetTimeoutCount(v int64) *BackendConnectionErrors {
s.TimeoutCount = &v
return s
}
// SetUnknownHostCount sets the UnknownHostCount field's value.
func (s *BackendConnectionErrors) SetUnknownHostCount(v int64) *BackendConnectionErrors {
s.UnknownHostCount = &v
return s
}
type BatchGetTracesInput struct {
_ struct{} `type:"structure"`
// Pagination token. Not used.
NextToken *string `type:"string"`
// Specify the trace IDs of requests for which to retrieve segments.
//
// TraceIds is a required field
TraceIds []*string `type:"list" required:"true"`
}
// String returns the string representation
func (s BatchGetTracesInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s BatchGetTracesInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *BatchGetTracesInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "BatchGetTracesInput"}
if s.TraceIds == nil {
invalidParams.Add(request.NewErrParamRequired("TraceIds"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetNextToken sets the NextToken field's value.
func (s *BatchGetTracesInput) SetNextToken(v string) *BatchGetTracesInput {
s.NextToken = &v
return s
}
// SetTraceIds sets the TraceIds field's value.
func (s *BatchGetTracesInput) SetTraceIds(v []*string) *BatchGetTracesInput {
s.TraceIds = v
return s
}
type BatchGetTracesOutput struct {
_ struct{} `type:"structure"`
// Pagination token. Not used.
NextToken *string `type:"string"`
// Full traces for the specified requests.
Traces []*Trace `type:"list"`
// Trace IDs of requests that haven't been processed.
UnprocessedTraceIds []*string `type:"list"`
}
// String returns the string representation
func (s BatchGetTracesOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s BatchGetTracesOutput) GoString() string {
return s.String()
}
// SetNextToken sets the NextToken field's value.
func (s *BatchGetTracesOutput) SetNextToken(v string) *BatchGetTracesOutput {
s.NextToken = &v
return s
}
// SetTraces sets the Traces field's value.
func (s *BatchGetTracesOutput) SetTraces(v []*Trace) *BatchGetTracesOutput {
s.Traces = v
return s
}
// SetUnprocessedTraceIds sets the UnprocessedTraceIds field's value.
func (s *BatchGetTracesOutput) SetUnprocessedTraceIds(v []*string) *BatchGetTracesOutput {
s.UnprocessedTraceIds = v
return s
}
// Information about a connection between two services.
type Edge struct {
_ struct{} `type:"structure"`
// Aliases for the edge.
Aliases []*Alias `type:"list"`
// The end time of the last segment on the edge.
EndTime *time.Time `type:"timestamp" timestampFormat:"unix"`
// Identifier of the edge. Unique within a service map.
ReferenceId *int64 `type:"integer"`
2017-07-23 09:51:42 +02:00
// A histogram that maps the spread of client response times on an edge.
ResponseTimeHistogram []*HistogramEntry `type:"list"`
// The start time of the first segment on the edge.
StartTime *time.Time `type:"timestamp" timestampFormat:"unix"`
// Response statistics for segments on the edge.
SummaryStatistics *EdgeStatistics `type:"structure"`
}
// String returns the string representation
func (s Edge) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s Edge) GoString() string {
return s.String()
}
// SetAliases sets the Aliases field's value.
func (s *Edge) SetAliases(v []*Alias) *Edge {
s.Aliases = v
return s
}
// SetEndTime sets the EndTime field's value.
func (s *Edge) SetEndTime(v time.Time) *Edge {
s.EndTime = &v
return s
}
// SetReferenceId sets the ReferenceId field's value.
func (s *Edge) SetReferenceId(v int64) *Edge {
s.ReferenceId = &v
return s
}
// SetResponseTimeHistogram sets the ResponseTimeHistogram field's value.
func (s *Edge) SetResponseTimeHistogram(v []*HistogramEntry) *Edge {
s.ResponseTimeHistogram = v
return s
}
// SetStartTime sets the StartTime field's value.
func (s *Edge) SetStartTime(v time.Time) *Edge {
s.StartTime = &v
return s
}
// SetSummaryStatistics sets the SummaryStatistics field's value.
func (s *Edge) SetSummaryStatistics(v *EdgeStatistics) *Edge {
s.SummaryStatistics = v
return s
}
// Response statistics for an edge.
type EdgeStatistics struct {
_ struct{} `type:"structure"`
// Information about requests that failed with a 4xx Client Error status code.
ErrorStatistics *ErrorStatistics `type:"structure"`
// Information about requests that failed with a 5xx Server Error status code.
FaultStatistics *FaultStatistics `type:"structure"`
// The number of requests that completed with a 2xx Success status code.
OkCount *int64 `type:"long"`
// The total number of completed requests.
TotalCount *int64 `type:"long"`
// The aggregate response time of completed requests.
TotalResponseTime *float64 `type:"double"`
}
// String returns the string representation
func (s EdgeStatistics) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s EdgeStatistics) GoString() string {
return s.String()
}
// SetErrorStatistics sets the ErrorStatistics field's value.
func (s *EdgeStatistics) SetErrorStatistics(v *ErrorStatistics) *EdgeStatistics {
s.ErrorStatistics = v
return s
}
// SetFaultStatistics sets the FaultStatistics field's value.
func (s *EdgeStatistics) SetFaultStatistics(v *FaultStatistics) *EdgeStatistics {
s.FaultStatistics = v
return s
}
// SetOkCount sets the OkCount field's value.
func (s *EdgeStatistics) SetOkCount(v int64) *EdgeStatistics {
s.OkCount = &v
return s
}
// SetTotalCount sets the TotalCount field's value.
func (s *EdgeStatistics) SetTotalCount(v int64) *EdgeStatistics {
s.TotalCount = &v
return s
}
// SetTotalResponseTime sets the TotalResponseTime field's value.
func (s *EdgeStatistics) SetTotalResponseTime(v float64) *EdgeStatistics {
s.TotalResponseTime = &v
return s
}
// Information about requests that failed with a 4xx Client Error status code.
type ErrorStatistics struct {
_ struct{} `type:"structure"`
// The number of requests that failed with untracked 4xx Client Error status
// codes.
OtherCount *int64 `type:"long"`
// The number of requests that failed with a 419 throttling status code.
ThrottleCount *int64 `type:"long"`
// The total number of requests that failed with a 4xx Client Error status code.
TotalCount *int64 `type:"long"`
}
// String returns the string representation
func (s ErrorStatistics) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s ErrorStatistics) GoString() string {
return s.String()
}
// SetOtherCount sets the OtherCount field's value.
func (s *ErrorStatistics) SetOtherCount(v int64) *ErrorStatistics {
s.OtherCount = &v
return s
}
// SetThrottleCount sets the ThrottleCount field's value.
func (s *ErrorStatistics) SetThrottleCount(v int64) *ErrorStatistics {
s.ThrottleCount = &v
return s
}
// SetTotalCount sets the TotalCount field's value.
func (s *ErrorStatistics) SetTotalCount(v int64) *ErrorStatistics {
s.TotalCount = &v
return s
}
// Information about requests that failed with a 5xx Server Error status code.
type FaultStatistics struct {
_ struct{} `type:"structure"`
// The number of requests that failed with untracked 5xx Server Error status
// codes.
OtherCount *int64 `type:"long"`
// The total number of requests that failed with a 5xx Server Error status code.
TotalCount *int64 `type:"long"`
}
// String returns the string representation
func (s FaultStatistics) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s FaultStatistics) GoString() string {
return s.String()
}
// SetOtherCount sets the OtherCount field's value.
func (s *FaultStatistics) SetOtherCount(v int64) *FaultStatistics {
s.OtherCount = &v
return s
}
// SetTotalCount sets the TotalCount field's value.
func (s *FaultStatistics) SetTotalCount(v int64) *FaultStatistics {
s.TotalCount = &v
return s
}
type GetServiceGraphInput struct {
_ struct{} `type:"structure"`
// The end of the time frame for which to generate a graph.
//
// EndTime is a required field
EndTime *time.Time `type:"timestamp" timestampFormat:"unix" required:"true"`
// Pagination token. Not used.
NextToken *string `type:"string"`
// The start of the time frame for which to generate a graph.
//
// StartTime is a required field
StartTime *time.Time `type:"timestamp" timestampFormat:"unix" required:"true"`
}
// String returns the string representation
func (s GetServiceGraphInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s GetServiceGraphInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *GetServiceGraphInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "GetServiceGraphInput"}
if s.EndTime == nil {
invalidParams.Add(request.NewErrParamRequired("EndTime"))
}
if s.StartTime == nil {
invalidParams.Add(request.NewErrParamRequired("StartTime"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetEndTime sets the EndTime field's value.
func (s *GetServiceGraphInput) SetEndTime(v time.Time) *GetServiceGraphInput {
s.EndTime = &v
return s
}
// SetNextToken sets the NextToken field's value.
func (s *GetServiceGraphInput) SetNextToken(v string) *GetServiceGraphInput {
s.NextToken = &v
return s
}
// SetStartTime sets the StartTime field's value.
func (s *GetServiceGraphInput) SetStartTime(v time.Time) *GetServiceGraphInput {
s.StartTime = &v
return s
}
type GetServiceGraphOutput struct {
_ struct{} `type:"structure"`
// The end of the time frame for which the graph was generated.
EndTime *time.Time `type:"timestamp" timestampFormat:"unix"`
// Pagination token. Not used.
NextToken *string `type:"string"`
// The services that have processed a traced request during the specified time
// frame.
Services []*Service `type:"list"`
// The start of the time frame for which the graph was generated.
StartTime *time.Time `type:"timestamp" timestampFormat:"unix"`
}
// String returns the string representation
func (s GetServiceGraphOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s GetServiceGraphOutput) GoString() string {
return s.String()
}
// SetEndTime sets the EndTime field's value.
func (s *GetServiceGraphOutput) SetEndTime(v time.Time) *GetServiceGraphOutput {
s.EndTime = &v
return s
}
// SetNextToken sets the NextToken field's value.
func (s *GetServiceGraphOutput) SetNextToken(v string) *GetServiceGraphOutput {
s.NextToken = &v
return s
}
// SetServices sets the Services field's value.
func (s *GetServiceGraphOutput) SetServices(v []*Service) *GetServiceGraphOutput {
s.Services = v
return s
}
// SetStartTime sets the StartTime field's value.
func (s *GetServiceGraphOutput) SetStartTime(v time.Time) *GetServiceGraphOutput {
s.StartTime = &v
return s
}
type GetTraceGraphInput struct {
_ struct{} `type:"structure"`
// Pagination token. Not used.
NextToken *string `type:"string"`
// Trace IDs of requests for which to generate a service graph.
//
// TraceIds is a required field
TraceIds []*string `type:"list" required:"true"`
}
// String returns the string representation
func (s GetTraceGraphInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s GetTraceGraphInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *GetTraceGraphInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "GetTraceGraphInput"}
if s.TraceIds == nil {
invalidParams.Add(request.NewErrParamRequired("TraceIds"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetNextToken sets the NextToken field's value.
func (s *GetTraceGraphInput) SetNextToken(v string) *GetTraceGraphInput {
s.NextToken = &v
return s
}
// SetTraceIds sets the TraceIds field's value.
func (s *GetTraceGraphInput) SetTraceIds(v []*string) *GetTraceGraphInput {
s.TraceIds = v
return s
}
type GetTraceGraphOutput struct {
_ struct{} `type:"structure"`
// Pagination token. Not used.
NextToken *string `type:"string"`
// The services that have processed one of the specified requests.
Services []*Service `type:"list"`
}
// String returns the string representation
func (s GetTraceGraphOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s GetTraceGraphOutput) GoString() string {
return s.String()
}
// SetNextToken sets the NextToken field's value.
func (s *GetTraceGraphOutput) SetNextToken(v string) *GetTraceGraphOutput {
s.NextToken = &v
return s
}
// SetServices sets the Services field's value.
func (s *GetTraceGraphOutput) SetServices(v []*Service) *GetTraceGraphOutput {
s.Services = v
return s
}
type GetTraceSummariesInput struct {
_ struct{} `type:"structure"`
// The end of the time frame for which to retrieve traces.
//
// EndTime is a required field
EndTime *time.Time `type:"timestamp" timestampFormat:"unix" required:"true"`
// Specify a filter expression to retrieve trace summaries for services or requests
// that meet certain requirements.
FilterExpression *string `min:"1" type:"string"`
// Specify the pagination token returned by a previous request to retrieve the
// next page of results.
NextToken *string `type:"string"`
// Set to true to get summaries for only a subset of available traces.
Sampling *bool `type:"boolean"`
// The start of the time frame for which to retrieve traces.
//
// StartTime is a required field
StartTime *time.Time `type:"timestamp" timestampFormat:"unix" required:"true"`
}
// String returns the string representation
func (s GetTraceSummariesInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s GetTraceSummariesInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *GetTraceSummariesInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "GetTraceSummariesInput"}
if s.EndTime == nil {
invalidParams.Add(request.NewErrParamRequired("EndTime"))
}
if s.FilterExpression != nil && len(*s.FilterExpression) < 1 {
invalidParams.Add(request.NewErrParamMinLen("FilterExpression", 1))
}
if s.StartTime == nil {
invalidParams.Add(request.NewErrParamRequired("StartTime"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetEndTime sets the EndTime field's value.
func (s *GetTraceSummariesInput) SetEndTime(v time.Time) *GetTraceSummariesInput {
s.EndTime = &v
return s
}
// SetFilterExpression sets the FilterExpression field's value.
func (s *GetTraceSummariesInput) SetFilterExpression(v string) *GetTraceSummariesInput {
s.FilterExpression = &v
return s
}
// SetNextToken sets the NextToken field's value.
func (s *GetTraceSummariesInput) SetNextToken(v string) *GetTraceSummariesInput {
s.NextToken = &v
return s
}
// SetSampling sets the Sampling field's value.
func (s *GetTraceSummariesInput) SetSampling(v bool) *GetTraceSummariesInput {
s.Sampling = &v
return s
}
// SetStartTime sets the StartTime field's value.
func (s *GetTraceSummariesInput) SetStartTime(v time.Time) *GetTraceSummariesInput {
s.StartTime = &v
return s
}
type GetTraceSummariesOutput struct {
_ struct{} `type:"structure"`
// The start time of this page of results.
ApproximateTime *time.Time `type:"timestamp" timestampFormat:"unix"`
// If the requested time frame contained more than one page of results, you
// can use this token to retrieve the next page. The first page contains the
// most most recent results, closest to the end of the time frame.
NextToken *string `type:"string"`
// Trace IDs and metadata for traces that were found in the specified time frame.
TraceSummaries []*TraceSummary `type:"list"`
// The number of traces that were processed to get this set of summaries.
TracesProcessedCount *int64 `type:"long"`
}
// String returns the string representation
func (s GetTraceSummariesOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s GetTraceSummariesOutput) GoString() string {
return s.String()
}
// SetApproximateTime sets the ApproximateTime field's value.
func (s *GetTraceSummariesOutput) SetApproximateTime(v time.Time) *GetTraceSummariesOutput {
s.ApproximateTime = &v
return s
}
// SetNextToken sets the NextToken field's value.
func (s *GetTraceSummariesOutput) SetNextToken(v string) *GetTraceSummariesOutput {
s.NextToken = &v
return s
}
// SetTraceSummaries sets the TraceSummaries field's value.
func (s *GetTraceSummariesOutput) SetTraceSummaries(v []*TraceSummary) *GetTraceSummariesOutput {
s.TraceSummaries = v
return s
}
// SetTracesProcessedCount sets the TracesProcessedCount field's value.
func (s *GetTraceSummariesOutput) SetTracesProcessedCount(v int64) *GetTraceSummariesOutput {
s.TracesProcessedCount = &v
return s
}
// An entry in a histogram for a statistic. A histogram maps the range of observed
// values on the X axis, and the prevalence of each value on the Y axis.
type HistogramEntry struct {
_ struct{} `type:"structure"`
// The prevalence of the entry.
Count *int64 `type:"integer"`
// The value of the entry.
Value *float64 `type:"double"`
}
// String returns the string representation
func (s HistogramEntry) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s HistogramEntry) GoString() string {
return s.String()
}
// SetCount sets the Count field's value.
func (s *HistogramEntry) SetCount(v int64) *HistogramEntry {
s.Count = &v
return s
}
// SetValue sets the Value field's value.
func (s *HistogramEntry) SetValue(v float64) *HistogramEntry {
s.Value = &v
return s
}
// Information about an HTTP request.
type Http struct {
_ struct{} `type:"structure"`
// The IP address of the requestor.
ClientIp *string `type:"string"`
// The request method.
HttpMethod *string `type:"string"`
// The response status.
HttpStatus *int64 `type:"integer"`
// The request URL.
HttpURL *string `type:"string"`
// The request's user agent string.
UserAgent *string `type:"string"`
}
// String returns the string representation
func (s Http) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s Http) GoString() string {
return s.String()
}
// SetClientIp sets the ClientIp field's value.
func (s *Http) SetClientIp(v string) *Http {
s.ClientIp = &v
return s
}
// SetHttpMethod sets the HttpMethod field's value.
func (s *Http) SetHttpMethod(v string) *Http {
s.HttpMethod = &v
return s
}
// SetHttpStatus sets the HttpStatus field's value.
func (s *Http) SetHttpStatus(v int64) *Http {
s.HttpStatus = &v
return s
}
// SetHttpURL sets the HttpURL field's value.
func (s *Http) SetHttpURL(v string) *Http {
s.HttpURL = &v
return s
}
// SetUserAgent sets the UserAgent field's value.
func (s *Http) SetUserAgent(v string) *Http {
s.UserAgent = &v
return s
}
type PutTelemetryRecordsInput struct {
_ struct{} `type:"structure"`
EC2InstanceId *string `type:"string"`
Hostname *string `type:"string"`
ResourceARN *string `type:"string"`
// TelemetryRecords is a required field
TelemetryRecords []*TelemetryRecord `type:"list" required:"true"`
}
// String returns the string representation
func (s PutTelemetryRecordsInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s PutTelemetryRecordsInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *PutTelemetryRecordsInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "PutTelemetryRecordsInput"}
if s.TelemetryRecords == nil {
invalidParams.Add(request.NewErrParamRequired("TelemetryRecords"))
}
if s.TelemetryRecords != nil {
for i, v := range s.TelemetryRecords {
if v == nil {
continue
}
if err := v.Validate(); err != nil {
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TelemetryRecords", i), err.(request.ErrInvalidParams))
}
}
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetEC2InstanceId sets the EC2InstanceId field's value.
func (s *PutTelemetryRecordsInput) SetEC2InstanceId(v string) *PutTelemetryRecordsInput {
s.EC2InstanceId = &v
return s
}
// SetHostname sets the Hostname field's value.
func (s *PutTelemetryRecordsInput) SetHostname(v string) *PutTelemetryRecordsInput {
s.Hostname = &v
return s
}
// SetResourceARN sets the ResourceARN field's value.
func (s *PutTelemetryRecordsInput) SetResourceARN(v string) *PutTelemetryRecordsInput {
s.ResourceARN = &v
return s
}
// SetTelemetryRecords sets the TelemetryRecords field's value.
func (s *PutTelemetryRecordsInput) SetTelemetryRecords(v []*TelemetryRecord) *PutTelemetryRecordsInput {
s.TelemetryRecords = v
return s
}
type PutTelemetryRecordsOutput struct {
_ struct{} `type:"structure"`
}
// String returns the string representation
func (s PutTelemetryRecordsOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s PutTelemetryRecordsOutput) GoString() string {
return s.String()
}
type PutTraceSegmentsInput struct {
_ struct{} `type:"structure"`
2017-07-23 09:51:42 +02:00
// A string containing a JSON document defining one or more segments or subsegments.
//
// TraceSegmentDocuments is a required field
TraceSegmentDocuments []*string `type:"list" required:"true"`
}
// String returns the string representation
func (s PutTraceSegmentsInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s PutTraceSegmentsInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *PutTraceSegmentsInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "PutTraceSegmentsInput"}
if s.TraceSegmentDocuments == nil {
invalidParams.Add(request.NewErrParamRequired("TraceSegmentDocuments"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetTraceSegmentDocuments sets the TraceSegmentDocuments field's value.
func (s *PutTraceSegmentsInput) SetTraceSegmentDocuments(v []*string) *PutTraceSegmentsInput {
s.TraceSegmentDocuments = v
return s
}
type PutTraceSegmentsOutput struct {
_ struct{} `type:"structure"`
// Segments that failed processing.
UnprocessedTraceSegments []*UnprocessedTraceSegment `type:"list"`
}
// String returns the string representation
func (s PutTraceSegmentsOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s PutTraceSegmentsOutput) GoString() string {
return s.String()
}
// SetUnprocessedTraceSegments sets the UnprocessedTraceSegments field's value.
func (s *PutTraceSegmentsOutput) SetUnprocessedTraceSegments(v []*UnprocessedTraceSegment) *PutTraceSegmentsOutput {
s.UnprocessedTraceSegments = v
return s
}
2017-07-23 09:51:42 +02:00
// A segment from a trace that has been ingested by the X-Ray service. The segment
// can be compiled from documents uploaded with PutTraceSegments, or an inferred
// segment for a downstream service, generated from a subsegment sent by the
// service that called it.
type Segment struct {
_ struct{} `type:"structure"`
2017-07-23 09:51:42 +02:00
// The segment document
Document *string `min:"1" type:"string"`
// The segment's ID.
Id *string `type:"string"`
}
// String returns the string representation
func (s Segment) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s Segment) GoString() string {
return s.String()
}
// SetDocument sets the Document field's value.
func (s *Segment) SetDocument(v string) *Segment {
s.Document = &v
return s
}
// SetId sets the Id field's value.
func (s *Segment) SetId(v string) *Segment {
s.Id = &v
return s
}
// Information about an application that processed requests, users that made
// requests, or downstream services, resources and applications that an application
// used.
type Service struct {
_ struct{} `type:"structure"`
// Identifier of the AWS account in which the service runs.
AccountId *string `type:"string"`
2017-07-23 09:51:42 +02:00
// A histogram that maps the spread of service durations.
DurationHistogram []*HistogramEntry `type:"list"`
// Connections to downstream services.
Edges []*Edge `type:"list"`
// The end time of the last segment that the service generated.
EndTime *time.Time `type:"timestamp" timestampFormat:"unix"`
// The canonical name of the service.
Name *string `type:"string"`
// A list of names for the service, including the canonical name.
Names []*string `type:"list"`
// Identifier for the service. Unique within the service map.
ReferenceId *int64 `type:"integer"`
2017-07-23 09:51:42 +02:00
// A histogram that maps the spread of service response times.
ResponseTimeHistogram []*HistogramEntry `type:"list"`
// Indicates that the service was the first service to process a request.
Root *bool `type:"boolean"`
// The start time of the first segment that the service generated.
StartTime *time.Time `type:"timestamp" timestampFormat:"unix"`
// The service's state.
State *string `type:"string"`
// Aggregated statistics for the service.
SummaryStatistics *ServiceStatistics `type:"structure"`
// The type of service.
//
// * AWS Resource - The type of an AWS resource. For example, AWS::EC2::Instance
// for a application running on Amazon EC2 or AWS::DynamoDB::Table for an
// Amazon DynamoDB table that the application used.
//
// * AWS Service - The type of an AWS service. For example, AWS::DynamoDB
// for downstream calls to Amazon DynamoDB that didn't target a specific
// table.
//
// * client - Represents the clients that sent requests to a root service.
//
// * remote - A downstream service of indeterminate type.
Type *string `type:"string"`
}
// String returns the string representation
func (s Service) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s Service) GoString() string {
return s.String()
}
// SetAccountId sets the AccountId field's value.
func (s *Service) SetAccountId(v string) *Service {
s.AccountId = &v
return s
}
// SetDurationHistogram sets the DurationHistogram field's value.
func (s *Service) SetDurationHistogram(v []*HistogramEntry) *Service {
s.DurationHistogram = v
return s
}
// SetEdges sets the Edges field's value.
func (s *Service) SetEdges(v []*Edge) *Service {
s.Edges = v
return s
}
// SetEndTime sets the EndTime field's value.
func (s *Service) SetEndTime(v time.Time) *Service {
s.EndTime = &v
return s
}
// SetName sets the Name field's value.
func (s *Service) SetName(v string) *Service {
s.Name = &v
return s
}
// SetNames sets the Names field's value.
func (s *Service) SetNames(v []*string) *Service {
s.Names = v
return s
}
// SetReferenceId sets the ReferenceId field's value.
func (s *Service) SetReferenceId(v int64) *Service {
s.ReferenceId = &v
return s
}
2017-07-23 09:51:42 +02:00
// SetResponseTimeHistogram sets the ResponseTimeHistogram field's value.
func (s *Service) SetResponseTimeHistogram(v []*HistogramEntry) *Service {
s.ResponseTimeHistogram = v
return s
}
// SetRoot sets the Root field's value.
func (s *Service) SetRoot(v bool) *Service {
s.Root = &v
return s
}
// SetStartTime sets the StartTime field's value.
func (s *Service) SetStartTime(v time.Time) *Service {
s.StartTime = &v
return s
}
// SetState sets the State field's value.
func (s *Service) SetState(v string) *Service {
s.State = &v
return s
}
// SetSummaryStatistics sets the SummaryStatistics field's value.
func (s *Service) SetSummaryStatistics(v *ServiceStatistics) *Service {
s.SummaryStatistics = v
return s
}
// SetType sets the Type field's value.
func (s *Service) SetType(v string) *Service {
s.Type = &v
return s
}
type ServiceId struct {
_ struct{} `type:"structure"`
AccountId *string `type:"string"`
Name *string `type:"string"`
Names []*string `type:"list"`
Type *string `type:"string"`
}
// String returns the string representation
func (s ServiceId) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s ServiceId) GoString() string {
return s.String()
}
// SetAccountId sets the AccountId field's value.
func (s *ServiceId) SetAccountId(v string) *ServiceId {
s.AccountId = &v
return s
}
// SetName sets the Name field's value.
func (s *ServiceId) SetName(v string) *ServiceId {
s.Name = &v
return s
}
// SetNames sets the Names field's value.
func (s *ServiceId) SetNames(v []*string) *ServiceId {
s.Names = v
return s
}
// SetType sets the Type field's value.
func (s *ServiceId) SetType(v string) *ServiceId {
s.Type = &v
return s
}
// Response statistics for a service.
type ServiceStatistics struct {
_ struct{} `type:"structure"`
// Information about requests that failed with a 4xx Client Error status code.
ErrorStatistics *ErrorStatistics `type:"structure"`
// Information about requests that failed with a 5xx Server Error status code.
FaultStatistics *FaultStatistics `type:"structure"`
// The number of requests that completed with a 2xx Success status code.
OkCount *int64 `type:"long"`
// The total number of completed requests.
TotalCount *int64 `type:"long"`
// The aggregate response time of completed requests.
TotalResponseTime *float64 `type:"double"`
}
// String returns the string representation
func (s ServiceStatistics) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s ServiceStatistics) GoString() string {
return s.String()
}
// SetErrorStatistics sets the ErrorStatistics field's value.
func (s *ServiceStatistics) SetErrorStatistics(v *ErrorStatistics) *ServiceStatistics {
s.ErrorStatistics = v
return s
}
// SetFaultStatistics sets the FaultStatistics field's value.
func (s *ServiceStatistics) SetFaultStatistics(v *FaultStatistics) *ServiceStatistics {
s.FaultStatistics = v
return s
}
// SetOkCount sets the OkCount field's value.
func (s *ServiceStatistics) SetOkCount(v int64) *ServiceStatistics {
s.OkCount = &v
return s
}
// SetTotalCount sets the TotalCount field's value.
func (s *ServiceStatistics) SetTotalCount(v int64) *ServiceStatistics {
s.TotalCount = &v
return s
}
// SetTotalResponseTime sets the TotalResponseTime field's value.
func (s *ServiceStatistics) SetTotalResponseTime(v float64) *ServiceStatistics {
s.TotalResponseTime = &v
return s
}
type TelemetryRecord struct {
_ struct{} `type:"structure"`
BackendConnectionErrors *BackendConnectionErrors `type:"structure"`
SegmentsReceivedCount *int64 `type:"integer"`
SegmentsRejectedCount *int64 `type:"integer"`
SegmentsSentCount *int64 `type:"integer"`
SegmentsSpilloverCount *int64 `type:"integer"`
// Timestamp is a required field
Timestamp *time.Time `type:"timestamp" timestampFormat:"unix" required:"true"`
}
// String returns the string representation
func (s TelemetryRecord) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s TelemetryRecord) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *TelemetryRecord) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "TelemetryRecord"}
if s.Timestamp == nil {
invalidParams.Add(request.NewErrParamRequired("Timestamp"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetBackendConnectionErrors sets the BackendConnectionErrors field's value.
func (s *TelemetryRecord) SetBackendConnectionErrors(v *BackendConnectionErrors) *TelemetryRecord {
s.BackendConnectionErrors = v
return s
}
// SetSegmentsReceivedCount sets the SegmentsReceivedCount field's value.
func (s *TelemetryRecord) SetSegmentsReceivedCount(v int64) *TelemetryRecord {
s.SegmentsReceivedCount = &v
return s
}
// SetSegmentsRejectedCount sets the SegmentsRejectedCount field's value.
func (s *TelemetryRecord) SetSegmentsRejectedCount(v int64) *TelemetryRecord {
s.SegmentsRejectedCount = &v
return s
}
// SetSegmentsSentCount sets the SegmentsSentCount field's value.
func (s *TelemetryRecord) SetSegmentsSentCount(v int64) *TelemetryRecord {
s.SegmentsSentCount = &v
return s
}
// SetSegmentsSpilloverCount sets the SegmentsSpilloverCount field's value.
func (s *TelemetryRecord) SetSegmentsSpilloverCount(v int64) *TelemetryRecord {
s.SegmentsSpilloverCount = &v
return s
}
// SetTimestamp sets the Timestamp field's value.
func (s *TelemetryRecord) SetTimestamp(v time.Time) *TelemetryRecord {
s.Timestamp = &v
return s
}
// A collection of segment documents with matching trace IDs.
type Trace struct {
_ struct{} `type:"structure"`
// The length of time in seconds between the start time of the root segment
// and the end time of the last segment that completed.
Duration *float64 `type:"double"`
// The unique identifier for the request that generated the trace's segments
// and subsegments.
Id *string `min:"1" type:"string"`
// Segment documents for the segments and subsegments that comprise the trace.
Segments []*Segment `type:"list"`
}
// String returns the string representation
func (s Trace) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s Trace) GoString() string {
return s.String()
}
// SetDuration sets the Duration field's value.
func (s *Trace) SetDuration(v float64) *Trace {
s.Duration = &v
return s
}
// SetId sets the Id field's value.
func (s *Trace) SetId(v string) *Trace {
s.Id = &v
return s
}
// SetSegments sets the Segments field's value.
func (s *Trace) SetSegments(v []*Segment) *Trace {
s.Segments = v
return s
}
// Metadata generated from the segment documents in a trace.
type TraceSummary struct {
_ struct{} `type:"structure"`
// Annotations from the trace's segment documents.
Annotations map[string][]*ValueWithServiceIds `type:"map"`
// The length of time in seconds between the start time of the root segment
// and the end time of the last segment that completed.
Duration *float64 `type:"double"`
// One or more of the segment documents has a 400 series error.
HasError *bool `type:"boolean"`
// One or more of the segment documents has a 500 series error.
HasFault *bool `type:"boolean"`
// One or more of the segment documents has a 429 throttling error.
HasThrottle *bool `type:"boolean"`
// Information about the HTTP request served by the trace.
Http *Http `type:"structure"`
// The unique identifier for the request that generated the trace's segments
// and subsegments.
Id *string `min:"1" type:"string"`
// One or more of the segment documents is in progress.
IsPartial *bool `type:"boolean"`
// The length of time in seconds between the start and end times of the root
// segment. If the service performs work asynchronously, the response time measures
// the time before the response is sent to the user, while the duration measures
// the amount of time before the last traced activity completes.
ResponseTime *float64 `type:"double"`
// Service IDs from the trace's segment documents.
ServiceIds []*ServiceId `type:"list"`
// Users from the trace's segment documents.
Users []*TraceUser `type:"list"`
}
// String returns the string representation
func (s TraceSummary) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s TraceSummary) GoString() string {
return s.String()
}
// SetAnnotations sets the Annotations field's value.
func (s *TraceSummary) SetAnnotations(v map[string][]*ValueWithServiceIds) *TraceSummary {
s.Annotations = v
return s
}
// SetDuration sets the Duration field's value.
func (s *TraceSummary) SetDuration(v float64) *TraceSummary {
s.Duration = &v
return s
}
// SetHasError sets the HasError field's value.
func (s *TraceSummary) SetHasError(v bool) *TraceSummary {
s.HasError = &v
return s
}
// SetHasFault sets the HasFault field's value.
func (s *TraceSummary) SetHasFault(v bool) *TraceSummary {
s.HasFault = &v
return s
}
// SetHasThrottle sets the HasThrottle field's value.
func (s *TraceSummary) SetHasThrottle(v bool) *TraceSummary {
s.HasThrottle = &v
return s
}
// SetHttp sets the Http field's value.
func (s *TraceSummary) SetHttp(v *Http) *TraceSummary {
s.Http = v
return s
}
// SetId sets the Id field's value.
func (s *TraceSummary) SetId(v string) *TraceSummary {
s.Id = &v
return s
}
// SetIsPartial sets the IsPartial field's value.
func (s *TraceSummary) SetIsPartial(v bool) *TraceSummary {
s.IsPartial = &v
return s
}
// SetResponseTime sets the ResponseTime field's value.
func (s *TraceSummary) SetResponseTime(v float64) *TraceSummary {
s.ResponseTime = &v
return s
}
// SetServiceIds sets the ServiceIds field's value.
func (s *TraceSummary) SetServiceIds(v []*ServiceId) *TraceSummary {
s.ServiceIds = v
return s
}
// SetUsers sets the Users field's value.
func (s *TraceSummary) SetUsers(v []*TraceUser) *TraceSummary {
s.Users = v
return s
}
// Information about a user recorded in segment documents.
type TraceUser struct {
_ struct{} `type:"structure"`
// Services that the user's request hit.
ServiceIds []*ServiceId `type:"list"`
// The user's name.
UserName *string `type:"string"`
}
// String returns the string representation
func (s TraceUser) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s TraceUser) GoString() string {
return s.String()
}
// SetServiceIds sets the ServiceIds field's value.
func (s *TraceUser) SetServiceIds(v []*ServiceId) *TraceUser {
s.ServiceIds = v
return s
}
// SetUserName sets the UserName field's value.
func (s *TraceUser) SetUserName(v string) *TraceUser {
s.UserName = &v
return s
}
// Information about a segment that failed processing.
type UnprocessedTraceSegment struct {
_ struct{} `type:"structure"`
// The error that caused processing to fail.
ErrorCode *string `type:"string"`
// The segment's ID.
Id *string `type:"string"`
// The error message.
Message *string `type:"string"`
}
// String returns the string representation
func (s UnprocessedTraceSegment) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s UnprocessedTraceSegment) GoString() string {
return s.String()
}
// SetErrorCode sets the ErrorCode field's value.
func (s *UnprocessedTraceSegment) SetErrorCode(v string) *UnprocessedTraceSegment {
s.ErrorCode = &v
return s
}
// SetId sets the Id field's value.
func (s *UnprocessedTraceSegment) SetId(v string) *UnprocessedTraceSegment {
s.Id = &v
return s
}
// SetMessage sets the Message field's value.
func (s *UnprocessedTraceSegment) SetMessage(v string) *UnprocessedTraceSegment {
s.Message = &v
return s
}
// Information about a segment annotation.
type ValueWithServiceIds struct {
_ struct{} `type:"structure"`
// Values of the annotation.
AnnotationValue *AnnotationValue `type:"structure"`
// Services to which the annotation applies.
ServiceIds []*ServiceId `type:"list"`
}
// String returns the string representation
func (s ValueWithServiceIds) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s ValueWithServiceIds) GoString() string {
return s.String()
}
// SetAnnotationValue sets the AnnotationValue field's value.
func (s *ValueWithServiceIds) SetAnnotationValue(v *AnnotationValue) *ValueWithServiceIds {
s.AnnotationValue = v
return s
}
// SetServiceIds sets the ServiceIds field's value.
func (s *ValueWithServiceIds) SetServiceIds(v []*ServiceId) *ValueWithServiceIds {
s.ServiceIds = v
return s
}