-
Notifications
You must be signed in to change notification settings - Fork 597
/
api_op_FilterLogEvents.go
137 lines (115 loc) · 5.19 KB
/
api_op_FilterLogEvents.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
// Code generated by smithy-go-codegen DO NOT EDIT.
package cloudwatchlogs
import (
"context"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
"github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs/types"
"github.com/awslabs/smithy-go/middleware"
smithyhttp "github.com/awslabs/smithy-go/transport/http"
)
// Lists log events from the specified log group. You can list all the log events
// or filter the results using a filter pattern, a time range, and the name of the
// log stream. By default, this operation returns as many log events as can fit in
// 1 MB (up to 10,000 log events), or all the events found within the time range
// that you specify. If the results include a token, then there are more log events
// available, and you can get additional results by specifying the token in a
// subsequent call.
func (c *Client) FilterLogEvents(ctx context.Context, params *FilterLogEventsInput, optFns ...func(*Options)) (*FilterLogEventsOutput, error) {
if params == nil {
params = &FilterLogEventsInput{}
}
result, metadata, err := c.invokeOperation(ctx, "FilterLogEvents", params, optFns, addOperationFilterLogEventsMiddlewares)
if err != nil {
return nil, err
}
out := result.(*FilterLogEventsOutput)
out.ResultMetadata = metadata
return out, nil
}
type FilterLogEventsInput struct {
// The name of the log group to search.
//
// This member is required.
LogGroupName *string
// The end of the time range, expressed as the number of milliseconds after Jan 1,
// 1970 00:00:00 UTC. Events with a timestamp later than this time are not
// returned.
EndTime *int64
// The filter pattern to use. For more information, see Filter and Pattern Syntax
// (https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/FilterAndPatternSyntax.html).
// If not provided, all the events are matched.
FilterPattern *string
// If the value is true, the operation makes a best effort to provide responses
// that contain events from multiple log streams within the log group, interleaved
// in a single response. If the value is false, all the matched log events in the
// first log stream are searched first, then those in the next log stream, and so
// on. The default is false. IMPORTANT: Starting on June 17, 2019, this parameter
// will be ignored and the value will be assumed to be true. The response from this
// operation will always interleave events from multiple log streams within a log
// group.
Interleaved *bool
// The maximum number of events to return. The default is 10,000 events.
Limit *int32
// Filters the results to include only events from log streams that have names
// starting with this prefix. If you specify a value for both logStreamNamePrefix
// and logStreamNames, but the value for logStreamNamePrefix does not match any log
// stream names specified in logStreamNames, the action returns an
// InvalidParameterException error.
LogStreamNamePrefix *string
// Filters the results to only logs from the log streams in this list. If you
// specify a value for both logStreamNamePrefix and logStreamNames, the action
// returns an InvalidParameterException error.
LogStreamNames []*string
// The token for the next set of events to return. (You received this token from a
// previous call.)
NextToken *string
// The start of the time range, expressed as the number of milliseconds after Jan
// 1, 1970 00:00:00 UTC. Events with a timestamp before this time are not returned.
StartTime *int64
}
type FilterLogEventsOutput struct {
// The matched events.
Events []*types.FilteredLogEvent
// The token to use when requesting the next set of items. The token expires after
// 24 hours.
NextToken *string
// Indicates which log streams have been searched and whether each has been
// searched completely.
SearchedLogStreams []*types.SearchedLogStream
// Metadata pertaining to the operation's result.
ResultMetadata middleware.Metadata
}
func addOperationFilterLogEventsMiddlewares(stack *middleware.Stack, options Options) (err error) {
err = stack.Serialize.Add(&awsAwsjson11_serializeOpFilterLogEvents{}, middleware.After)
if err != nil {
return err
}
err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpFilterLogEvents{}, middleware.After)
if err != nil {
return err
}
awsmiddleware.AddRequestInvocationIDMiddleware(stack)
smithyhttp.AddContentLengthMiddleware(stack)
addResolveEndpointMiddleware(stack, options)
v4.AddComputePayloadSHA256Middleware(stack)
addRetryMiddlewares(stack, options)
addHTTPSignerV4Middleware(stack, options)
awsmiddleware.AddAttemptClockSkewMiddleware(stack)
addClientUserAgent(stack)
smithyhttp.AddErrorCloseResponseBodyMiddleware(stack)
smithyhttp.AddCloseResponseBodyMiddleware(stack)
addOpFilterLogEventsValidationMiddleware(stack)
stack.Initialize.Add(newServiceMetadataMiddleware_opFilterLogEvents(options.Region), middleware.Before)
addRequestIDRetrieverMiddleware(stack)
addResponseErrorMiddleware(stack)
return nil
}
func newServiceMetadataMiddleware_opFilterLogEvents(region string) awsmiddleware.RegisterServiceMetadata {
return awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
SigningName: "logs",
OperationName: "FilterLogEvents",
}
}