@aws-sdk/client-cloudwatch-logs 3.693.0 → 3.698.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/README.md +72 -0
  2. package/dist-cjs/index.js +353 -2
  3. package/dist-es/CloudWatchLogs.js +18 -0
  4. package/dist-es/commands/DeleteIndexPolicyCommand.js +22 -0
  5. package/dist-es/commands/DeleteTransformerCommand.js +22 -0
  6. package/dist-es/commands/DescribeFieldIndexesCommand.js +22 -0
  7. package/dist-es/commands/DescribeIndexPoliciesCommand.js +22 -0
  8. package/dist-es/commands/GetTransformerCommand.js +22 -0
  9. package/dist-es/commands/ListLogGroupsForQueryCommand.js +22 -0
  10. package/dist-es/commands/PutIndexPolicyCommand.js +22 -0
  11. package/dist-es/commands/PutTransformerCommand.js +22 -0
  12. package/dist-es/commands/TestTransformerCommand.js +22 -0
  13. package/dist-es/commands/index.js +9 -0
  14. package/dist-es/models/models_0.js +16 -0
  15. package/dist-es/pagination/ListLogGroupsForQueryPaginator.js +4 -0
  16. package/dist-es/pagination/index.js +1 -0
  17. package/dist-es/protocols/Aws_json1_1.js +171 -1
  18. package/dist-types/CloudWatchLogs.d.ts +63 -0
  19. package/dist-types/CloudWatchLogsClient.d.ts +11 -2
  20. package/dist-types/commands/DeleteAccountPolicyCommand.d.ts +12 -3
  21. package/dist-types/commands/DeleteIndexPolicyCommand.d.ts +89 -0
  22. package/dist-types/commands/DeleteTransformerCommand.d.ts +89 -0
  23. package/dist-types/commands/DescribeAccountPoliciesCommand.d.ts +4 -2
  24. package/dist-types/commands/DescribeFieldIndexesCommand.d.ts +100 -0
  25. package/dist-types/commands/DescribeIndexPoliciesCommand.d.ts +104 -0
  26. package/dist-types/commands/DescribeMetricFiltersCommand.d.ts +1 -0
  27. package/dist-types/commands/DescribeSubscriptionFiltersCommand.d.ts +1 -0
  28. package/dist-types/commands/GetQueryResultsCommand.d.ts +3 -0
  29. package/dist-types/commands/GetTransformerCommand.d.ts +231 -0
  30. package/dist-types/commands/ListLogGroupsForQueryCommand.d.ts +92 -0
  31. package/dist-types/commands/PutAccountPolicyCommand.d.ts +64 -3
  32. package/dist-types/commands/PutIndexPolicyCommand.d.ts +125 -0
  33. package/dist-types/commands/PutMetricFilterCommand.d.ts +5 -1
  34. package/dist-types/commands/PutSubscriptionFilterCommand.d.ts +4 -0
  35. package/dist-types/commands/PutTransformerCommand.d.ts +250 -0
  36. package/dist-types/commands/StartQueryCommand.d.ts +19 -1
  37. package/dist-types/commands/TestTransformerCommand.d.ts +233 -0
  38. package/dist-types/commands/index.d.ts +9 -0
  39. package/dist-types/models/models_0.d.ts +1249 -35
  40. package/dist-types/pagination/ListLogGroupsForQueryPaginator.d.ts +7 -0
  41. package/dist-types/pagination/index.d.ts +1 -0
  42. package/dist-types/protocols/Aws_json1_1.d.ts +81 -0
  43. package/dist-types/ts3.4/CloudWatchLogs.d.ts +153 -0
  44. package/dist-types/ts3.4/CloudWatchLogsClient.d.ts +54 -0
  45. package/dist-types/ts3.4/commands/DeleteIndexPolicyCommand.d.ts +51 -0
  46. package/dist-types/ts3.4/commands/DeleteTransformerCommand.d.ts +46 -0
  47. package/dist-types/ts3.4/commands/DescribeFieldIndexesCommand.d.ts +51 -0
  48. package/dist-types/ts3.4/commands/DescribeIndexPoliciesCommand.d.ts +51 -0
  49. package/dist-types/ts3.4/commands/GetTransformerCommand.d.ts +50 -0
  50. package/dist-types/ts3.4/commands/ListLogGroupsForQueryCommand.d.ts +51 -0
  51. package/dist-types/ts3.4/commands/PutIndexPolicyCommand.d.ts +50 -0
  52. package/dist-types/ts3.4/commands/PutTransformerCommand.d.ts +45 -0
  53. package/dist-types/ts3.4/commands/TestTransformerCommand.d.ts +50 -0
  54. package/dist-types/ts3.4/commands/index.d.ts +9 -0
  55. package/dist-types/ts3.4/models/models_0.d.ts +252 -0
  56. package/dist-types/ts3.4/pagination/ListLogGroupsForQueryPaginator.d.ts +11 -0
  57. package/dist-types/ts3.4/pagination/index.d.ts +1 -0
  58. package/dist-types/ts3.4/protocols/Aws_json1_1.d.ts +108 -0
  59. package/package.json +38 -38
@@ -0,0 +1,231 @@
1
+ import { Command as $Command } from "@smithy/smithy-client";
2
+ import { MetadataBearer as __MetadataBearer } from "@smithy/types";
3
+ import { CloudWatchLogsClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../CloudWatchLogsClient";
4
+ import { GetTransformerRequest, GetTransformerResponse } from "../models/models_0";
5
+ /**
6
+ * @public
7
+ */
8
+ export type { __MetadataBearer };
9
+ export { $Command };
10
+ /**
11
+ * @public
12
+ *
13
+ * The input for {@link GetTransformerCommand}.
14
+ */
15
+ export interface GetTransformerCommandInput extends GetTransformerRequest {
16
+ }
17
+ /**
18
+ * @public
19
+ *
20
+ * The output of {@link GetTransformerCommand}.
21
+ */
22
+ export interface GetTransformerCommandOutput extends GetTransformerResponse, __MetadataBearer {
23
+ }
24
+ declare const GetTransformerCommand_base: {
25
+ new (input: GetTransformerCommandInput): import("@smithy/smithy-client").CommandImpl<GetTransformerCommandInput, GetTransformerCommandOutput, CloudWatchLogsClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes>;
26
+ new (__0_0: GetTransformerCommandInput): import("@smithy/smithy-client").CommandImpl<GetTransformerCommandInput, GetTransformerCommandOutput, CloudWatchLogsClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes>;
27
+ getEndpointParameterInstructions(): import("@smithy/middleware-endpoint").EndpointParameterInstructions;
28
+ };
29
+ /**
30
+ * <p>Returns the information about the log transformer associated with this log group.</p>
31
+ * <p>This operation returns data only for transformers created at the log group level. To get information
32
+ * for an account-level transformer, use <a href="https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_DescribeAccountPolicies.html">DescribeAccountPolicies</a>.</p>
33
+ * @example
34
+ * Use a bare-bones client and the command you need to make an API call.
35
+ * ```javascript
36
+ * import { CloudWatchLogsClient, GetTransformerCommand } from "@aws-sdk/client-cloudwatch-logs"; // ES Modules import
37
+ * // const { CloudWatchLogsClient, GetTransformerCommand } = require("@aws-sdk/client-cloudwatch-logs"); // CommonJS import
38
+ * const client = new CloudWatchLogsClient(config);
39
+ * const input = { // GetTransformerRequest
40
+ * logGroupIdentifier: "STRING_VALUE", // required
41
+ * };
42
+ * const command = new GetTransformerCommand(input);
43
+ * const response = await client.send(command);
44
+ * // { // GetTransformerResponse
45
+ * // logGroupIdentifier: "STRING_VALUE",
46
+ * // creationTime: Number("long"),
47
+ * // lastModifiedTime: Number("long"),
48
+ * // transformerConfig: [ // Processors
49
+ * // { // Processor
50
+ * // addKeys: { // AddKeys
51
+ * // entries: [ // AddKeyEntries // required
52
+ * // { // AddKeyEntry
53
+ * // key: "STRING_VALUE", // required
54
+ * // value: "STRING_VALUE", // required
55
+ * // overwriteIfExists: true || false,
56
+ * // },
57
+ * // ],
58
+ * // },
59
+ * // copyValue: { // CopyValue
60
+ * // entries: [ // CopyValueEntries // required
61
+ * // { // CopyValueEntry
62
+ * // source: "STRING_VALUE", // required
63
+ * // target: "STRING_VALUE", // required
64
+ * // overwriteIfExists: true || false,
65
+ * // },
66
+ * // ],
67
+ * // },
68
+ * // csv: { // CSV
69
+ * // quoteCharacter: "STRING_VALUE",
70
+ * // delimiter: "STRING_VALUE",
71
+ * // columns: [ // Columns
72
+ * // "STRING_VALUE",
73
+ * // ],
74
+ * // source: "STRING_VALUE",
75
+ * // },
76
+ * // dateTimeConverter: { // DateTimeConverter
77
+ * // source: "STRING_VALUE", // required
78
+ * // target: "STRING_VALUE", // required
79
+ * // targetFormat: "STRING_VALUE",
80
+ * // matchPatterns: [ // MatchPatterns // required
81
+ * // "STRING_VALUE",
82
+ * // ],
83
+ * // sourceTimezone: "STRING_VALUE",
84
+ * // targetTimezone: "STRING_VALUE",
85
+ * // locale: "STRING_VALUE",
86
+ * // },
87
+ * // deleteKeys: { // DeleteKeys
88
+ * // withKeys: [ // DeleteWithKeys // required
89
+ * // "STRING_VALUE",
90
+ * // ],
91
+ * // },
92
+ * // grok: { // Grok
93
+ * // source: "STRING_VALUE",
94
+ * // match: "STRING_VALUE", // required
95
+ * // },
96
+ * // listToMap: { // ListToMap
97
+ * // source: "STRING_VALUE", // required
98
+ * // key: "STRING_VALUE", // required
99
+ * // valueKey: "STRING_VALUE",
100
+ * // target: "STRING_VALUE",
101
+ * // flatten: true || false,
102
+ * // flattenedElement: "first" || "last",
103
+ * // },
104
+ * // lowerCaseString: { // LowerCaseString
105
+ * // withKeys: [ // LowerCaseStringWithKeys // required
106
+ * // "STRING_VALUE",
107
+ * // ],
108
+ * // },
109
+ * // moveKeys: { // MoveKeys
110
+ * // entries: [ // MoveKeyEntries // required
111
+ * // { // MoveKeyEntry
112
+ * // source: "STRING_VALUE", // required
113
+ * // target: "STRING_VALUE", // required
114
+ * // overwriteIfExists: true || false,
115
+ * // },
116
+ * // ],
117
+ * // },
118
+ * // parseCloudfront: { // ParseCloudfront
119
+ * // source: "STRING_VALUE",
120
+ * // },
121
+ * // parseJSON: { // ParseJSON
122
+ * // source: "STRING_VALUE",
123
+ * // destination: "STRING_VALUE",
124
+ * // },
125
+ * // parseKeyValue: { // ParseKeyValue
126
+ * // source: "STRING_VALUE",
127
+ * // destination: "STRING_VALUE",
128
+ * // fieldDelimiter: "STRING_VALUE",
129
+ * // keyValueDelimiter: "STRING_VALUE",
130
+ * // keyPrefix: "STRING_VALUE",
131
+ * // nonMatchValue: "STRING_VALUE",
132
+ * // overwriteIfExists: true || false,
133
+ * // },
134
+ * // parseRoute53: { // ParseRoute53
135
+ * // source: "STRING_VALUE",
136
+ * // },
137
+ * // parsePostgres: { // ParsePostgres
138
+ * // source: "STRING_VALUE",
139
+ * // },
140
+ * // parseVPC: { // ParseVPC
141
+ * // source: "STRING_VALUE",
142
+ * // },
143
+ * // parseWAF: { // ParseWAF
144
+ * // source: "STRING_VALUE",
145
+ * // },
146
+ * // renameKeys: { // RenameKeys
147
+ * // entries: [ // RenameKeyEntries // required
148
+ * // { // RenameKeyEntry
149
+ * // key: "STRING_VALUE", // required
150
+ * // renameTo: "STRING_VALUE", // required
151
+ * // overwriteIfExists: true || false,
152
+ * // },
153
+ * // ],
154
+ * // },
155
+ * // splitString: { // SplitString
156
+ * // entries: [ // SplitStringEntries // required
157
+ * // { // SplitStringEntry
158
+ * // source: "STRING_VALUE", // required
159
+ * // delimiter: "STRING_VALUE", // required
160
+ * // },
161
+ * // ],
162
+ * // },
163
+ * // substituteString: { // SubstituteString
164
+ * // entries: [ // SubstituteStringEntries // required
165
+ * // { // SubstituteStringEntry
166
+ * // source: "STRING_VALUE", // required
167
+ * // from: "STRING_VALUE", // required
168
+ * // to: "STRING_VALUE", // required
169
+ * // },
170
+ * // ],
171
+ * // },
172
+ * // trimString: { // TrimString
173
+ * // withKeys: [ // TrimStringWithKeys // required
174
+ * // "STRING_VALUE",
175
+ * // ],
176
+ * // },
177
+ * // typeConverter: { // TypeConverter
178
+ * // entries: [ // TypeConverterEntries // required
179
+ * // { // TypeConverterEntry
180
+ * // key: "STRING_VALUE", // required
181
+ * // type: "boolean" || "integer" || "double" || "string", // required
182
+ * // },
183
+ * // ],
184
+ * // },
185
+ * // upperCaseString: { // UpperCaseString
186
+ * // withKeys: [ // UpperCaseStringWithKeys // required
187
+ * // "STRING_VALUE",
188
+ * // ],
189
+ * // },
190
+ * // },
191
+ * // ],
192
+ * // };
193
+ *
194
+ * ```
195
+ *
196
+ * @param GetTransformerCommandInput - {@link GetTransformerCommandInput}
197
+ * @returns {@link GetTransformerCommandOutput}
198
+ * @see {@link GetTransformerCommandInput} for command's `input` shape.
199
+ * @see {@link GetTransformerCommandOutput} for command's `response` shape.
200
+ * @see {@link CloudWatchLogsClientResolvedConfig | config} for CloudWatchLogsClient's `config` shape.
201
+ *
202
+ * @throws {@link InvalidOperationException} (client fault)
203
+ * <p>The operation is not valid on the specified resource.</p>
204
+ *
205
+ * @throws {@link InvalidParameterException} (client fault)
206
+ * <p>A parameter is specified incorrectly.</p>
207
+ *
208
+ * @throws {@link ResourceNotFoundException} (client fault)
209
+ * <p>The specified resource does not exist.</p>
210
+ *
211
+ * @throws {@link ServiceUnavailableException} (server fault)
212
+ * <p>The service cannot complete the request.</p>
213
+ *
214
+ * @throws {@link CloudWatchLogsServiceException}
215
+ * <p>Base exception class for all service exceptions from CloudWatchLogs service.</p>
216
+ *
217
+ * @public
218
+ */
219
+ export declare class GetTransformerCommand extends GetTransformerCommand_base {
220
+ /** @internal type navigation helper, not in runtime. */
221
+ protected static __types: {
222
+ api: {
223
+ input: GetTransformerRequest;
224
+ output: GetTransformerResponse;
225
+ };
226
+ sdk: {
227
+ input: GetTransformerCommandInput;
228
+ output: GetTransformerCommandOutput;
229
+ };
230
+ };
231
+ }
@@ -0,0 +1,92 @@
1
+ import { Command as $Command } from "@smithy/smithy-client";
2
+ import { MetadataBearer as __MetadataBearer } from "@smithy/types";
3
+ import { CloudWatchLogsClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../CloudWatchLogsClient";
4
+ import { ListLogGroupsForQueryRequest, ListLogGroupsForQueryResponse } from "../models/models_0";
5
+ /**
6
+ * @public
7
+ */
8
+ export type { __MetadataBearer };
9
+ export { $Command };
10
+ /**
11
+ * @public
12
+ *
13
+ * The input for {@link ListLogGroupsForQueryCommand}.
14
+ */
15
+ export interface ListLogGroupsForQueryCommandInput extends ListLogGroupsForQueryRequest {
16
+ }
17
+ /**
18
+ * @public
19
+ *
20
+ * The output of {@link ListLogGroupsForQueryCommand}.
21
+ */
22
+ export interface ListLogGroupsForQueryCommandOutput extends ListLogGroupsForQueryResponse, __MetadataBearer {
23
+ }
24
+ declare const ListLogGroupsForQueryCommand_base: {
25
+ new (input: ListLogGroupsForQueryCommandInput): import("@smithy/smithy-client").CommandImpl<ListLogGroupsForQueryCommandInput, ListLogGroupsForQueryCommandOutput, CloudWatchLogsClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes>;
26
+ new (__0_0: ListLogGroupsForQueryCommandInput): import("@smithy/smithy-client").CommandImpl<ListLogGroupsForQueryCommandInput, ListLogGroupsForQueryCommandOutput, CloudWatchLogsClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes>;
27
+ getEndpointParameterInstructions(): import("@smithy/middleware-endpoint").EndpointParameterInstructions;
28
+ };
29
+ /**
30
+ * <p>Returns a list of the log groups that were analyzed during a single CloudWatch Logs Insights query. This can be useful for queries
31
+ * that use
32
+ * log group name prefixes or the <code>filterIndex</code> command, because the log groups are dynamically selected in these cases.</p>
33
+ * <p>For more information about field indexes, see
34
+ * <a href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatchLogs-Field-Indexing.html">Create field indexes to improve query performance and reduce costs</a>.</p>
35
+ * @example
36
+ * Use a bare-bones client and the command you need to make an API call.
37
+ * ```javascript
38
+ * import { CloudWatchLogsClient, ListLogGroupsForQueryCommand } from "@aws-sdk/client-cloudwatch-logs"; // ES Modules import
39
+ * // const { CloudWatchLogsClient, ListLogGroupsForQueryCommand } = require("@aws-sdk/client-cloudwatch-logs"); // CommonJS import
40
+ * const client = new CloudWatchLogsClient(config);
41
+ * const input = { // ListLogGroupsForQueryRequest
42
+ * queryId: "STRING_VALUE", // required
43
+ * nextToken: "STRING_VALUE",
44
+ * maxResults: Number("int"),
45
+ * };
46
+ * const command = new ListLogGroupsForQueryCommand(input);
47
+ * const response = await client.send(command);
48
+ * // { // ListLogGroupsForQueryResponse
49
+ * // logGroupIdentifiers: [ // LogGroupIdentifiers
50
+ * // "STRING_VALUE",
51
+ * // ],
52
+ * // nextToken: "STRING_VALUE",
53
+ * // };
54
+ *
55
+ * ```
56
+ *
57
+ * @param ListLogGroupsForQueryCommandInput - {@link ListLogGroupsForQueryCommandInput}
58
+ * @returns {@link ListLogGroupsForQueryCommandOutput}
59
+ * @see {@link ListLogGroupsForQueryCommandInput} for command's `input` shape.
60
+ * @see {@link ListLogGroupsForQueryCommandOutput} for command's `response` shape.
61
+ * @see {@link CloudWatchLogsClientResolvedConfig | config} for CloudWatchLogsClient's `config` shape.
62
+ *
63
+ * @throws {@link AccessDeniedException} (client fault)
64
+ * <p>You don't have sufficient permissions to perform this action.</p>
65
+ *
66
+ * @throws {@link InvalidParameterException} (client fault)
67
+ * <p>A parameter is specified incorrectly.</p>
68
+ *
69
+ * @throws {@link ResourceNotFoundException} (client fault)
70
+ * <p>The specified resource does not exist.</p>
71
+ *
72
+ * @throws {@link ServiceUnavailableException} (server fault)
73
+ * <p>The service cannot complete the request.</p>
74
+ *
75
+ * @throws {@link CloudWatchLogsServiceException}
76
+ * <p>Base exception class for all service exceptions from CloudWatchLogs service.</p>
77
+ *
78
+ * @public
79
+ */
80
+ export declare class ListLogGroupsForQueryCommand extends ListLogGroupsForQueryCommand_base {
81
+ /** @internal type navigation helper, not in runtime. */
82
+ protected static __types: {
83
+ api: {
84
+ input: ListLogGroupsForQueryRequest;
85
+ output: ListLogGroupsForQueryResponse;
86
+ };
87
+ sdk: {
88
+ input: ListLogGroupsForQueryCommandInput;
89
+ output: ListLogGroupsForQueryCommandOutput;
90
+ };
91
+ };
92
+ }
@@ -27,7 +27,8 @@ declare const PutAccountPolicyCommand_base: {
27
27
  getEndpointParameterInstructions(): import("@smithy/middleware-endpoint").EndpointParameterInstructions;
28
28
  };
29
29
  /**
30
- * <p>Creates an account-level data protection policy or subscription filter policy that applies to all log groups
30
+ * <p>Creates an account-level data protection policy, subscription filter policy, or field index policy
31
+ * that applies to all log groups
31
32
  * or a subset of log groups in the account.</p>
32
33
  * <p>
33
34
  * <b>Data protection policy</b>
@@ -88,6 +89,66 @@ declare const PutAccountPolicyCommand_base: {
88
89
  * If you are updating an existing filter, you must specify the correct name in <code>PolicyName</code>.
89
90
  * To perform a <code>PutAccountPolicy</code> subscription filter operation for any destination except a Lambda
90
91
  * function, you must also have the <code>iam:PassRole</code> permission.</p>
92
+ * <p>
93
+ * <b>Transformer policy</b>
94
+ * </p>
95
+ * <p>Creates or updates a <i>log transformer policy</i> for your account. You use log transformers to transform log events into
96
+ * a different format, making them easier for you to process and analyze. You can also transform logs from different sources into standardized formats that
97
+ * contain
98
+ * relevant, source-specific information. After you have created a transformer,
99
+ * CloudWatch Logs performs this transformation at the time of log ingestion. You can then refer to the transformed versions of the logs during
100
+ * operations such as querying with CloudWatch Logs Insights or creating metric filters or subscription filters.</p>
101
+ * <p>You can also use a transformer to copy metadata from metadata keys into the log events themselves. This metadata can include log group name,
102
+ * log stream name, account ID and Region.</p>
103
+ * <p>A transformer for a log group is a series of processors, where each processor applies one type of transformation to the log events
104
+ * ingested into this log group. For more information about the available processors to use in a transformer, see <a href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-Processors">
105
+ * Processors that you can use</a>.</p>
106
+ * <p>Having log events in standardized format enables visibility across your applications for your log analysis, reporting, and alarming needs.
107
+ * CloudWatch Logs provides transformation for common log types with out-of-the-box transformation templates for major Amazon Web Services log sources such
108
+ * as VPC flow logs, Lambda, and Amazon RDS. You can use pre-built transformation templates or create custom transformation policies.</p>
109
+ * <p>You can create transformers only for the log groups in the Standard log class.</p>
110
+ * <p>You can have one account-level transformer policy that applies to all log groups in the account.
111
+ * Or you can create as many as 20 account-level transformer policies that are each scoped to a subset of log groups with
112
+ * the <code>selectionCriteria</code> parameter. If you have multiple
113
+ * account-level transformer policies with selection criteria, no two of them can use the same or overlapping log group name prefixes.
114
+ * For example, if you have one policy filtered to log groups that start with <code>my-log</code>, you can't have another field index
115
+ * policy filtered to <code>my-logpprod</code> or <code>my-logging</code>.</p>
116
+ * <p>You can also set up a transformer at the log-group level. For more information, see
117
+ * <a href="https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutTransformer.html">PutTransformer</a>. If there is both a
118
+ * log-group level transformer created with <code>PutTransformer</code> and an account-level transformer that could apply to the same log
119
+ * group, the log group uses only the log-group level transformer. It ignores the account-level transformer.</p>
120
+ * <p>
121
+ * <b>Field index policy</b>
122
+ * </p>
123
+ * <p>You can use field index policies to create indexes on fields found in
124
+ * log events in the log group. Creating field indexes can help lower the scan volume for CloudWatch Logs Insights queries that reference
125
+ * those fields, because these queries attempt to skip the processing of log events that are known to not match the indexed field.
126
+ * Good fields to index are fields that you often need to query for and fields or values that match only a small fraction of the total log events.
127
+ * Common examples of indexes
128
+ * include request ID, session ID, user IDs, or instance IDs. For more information, see
129
+ * <a href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatchLogs-Field-Indexing.html">Create field indexes to improve query performance and reduce costs</a>
130
+ * </p>
131
+ * <p>To find the fields that are in your log group events, use the
132
+ * <a href="https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_GetLogGroupFields.html">GetLogGroupFields</a>
133
+ * operation.</p>
134
+ * <p>For example, suppose you have created a field index for <code>requestId</code>. Then, any
135
+ * CloudWatch Logs Insights query on that log group that includes <code>requestId = <i>value</i>
136
+ * </code>
137
+ * or <code>requestId in [<i>value</i>, <i>value</i>, ...]</code> will attempt to process only the log events where
138
+ * the indexed field matches the specified value.</p>
139
+ * <p>Matches of log events to the names of indexed fields are case-sensitive. For example, an indexed field
140
+ * of <code>RequestId</code> won't match a log event containing <code>requestId</code>.</p>
141
+ * <p>You can have one account-level field index policy that applies to all log groups in the account.
142
+ * Or you can create as many as 20 account-level field index policies that are each scoped to a subset of log groups with
143
+ * the <code>selectionCriteria</code> parameter. If you have multiple
144
+ * account-level index policies with selection criteria, no two of them can use the same or overlapping log group name prefixes.
145
+ * For example, if you have one policy filtered to log groups that start with <code>my-log</code>, you can't have another field index
146
+ * policy filtered to <code>my-logpprod</code> or <code>my-logging</code>.</p>
147
+ * <p>If you create an account-level field index policy in a monitoring account in cross-account observability, the policy is applied only
148
+ * to the monitoring account and not to any source accounts.</p>
149
+ * <p>If you want to create a field index policy for a single log group, you can use <a href="https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutIndexPolicy.html">PutIndexPolicy</a> instead of
150
+ * <code>PutAccountPolicy</code>. If you do so, that log group will use only that log-group level policy, and will ignore the account-level policy
151
+ * that you create with <a href="https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutAccountPolicy.html">PutAccountPolicy</a>.</p>
91
152
  * @example
92
153
  * Use a bare-bones client and the command you need to make an API call.
93
154
  * ```javascript
@@ -97,7 +158,7 @@ declare const PutAccountPolicyCommand_base: {
97
158
  * const input = { // PutAccountPolicyRequest
98
159
  * policyName: "STRING_VALUE", // required
99
160
  * policyDocument: "STRING_VALUE", // required
100
- * policyType: "DATA_PROTECTION_POLICY" || "SUBSCRIPTION_FILTER_POLICY", // required
161
+ * policyType: "DATA_PROTECTION_POLICY" || "SUBSCRIPTION_FILTER_POLICY" || "FIELD_INDEX_POLICY" || "TRANSFORMER_POLICY", // required
101
162
  * scope: "ALL",
102
163
  * selectionCriteria: "STRING_VALUE",
103
164
  * };
@@ -108,7 +169,7 @@ declare const PutAccountPolicyCommand_base: {
108
169
  * // policyName: "STRING_VALUE",
109
170
  * // policyDocument: "STRING_VALUE",
110
171
  * // lastUpdatedTime: Number("long"),
111
- * // policyType: "DATA_PROTECTION_POLICY" || "SUBSCRIPTION_FILTER_POLICY",
172
+ * // policyType: "DATA_PROTECTION_POLICY" || "SUBSCRIPTION_FILTER_POLICY" || "FIELD_INDEX_POLICY" || "TRANSFORMER_POLICY",
112
173
  * // scope: "ALL",
113
174
  * // selectionCriteria: "STRING_VALUE",
114
175
  * // accountId: "STRING_VALUE",
@@ -0,0 +1,125 @@
1
+ import { Command as $Command } from "@smithy/smithy-client";
2
+ import { MetadataBearer as __MetadataBearer } from "@smithy/types";
3
+ import { CloudWatchLogsClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../CloudWatchLogsClient";
4
+ import { PutIndexPolicyRequest, PutIndexPolicyResponse } from "../models/models_0";
5
+ /**
6
+ * @public
7
+ */
8
+ export type { __MetadataBearer };
9
+ export { $Command };
10
+ /**
11
+ * @public
12
+ *
13
+ * The input for {@link PutIndexPolicyCommand}.
14
+ */
15
+ export interface PutIndexPolicyCommandInput extends PutIndexPolicyRequest {
16
+ }
17
+ /**
18
+ * @public
19
+ *
20
+ * The output of {@link PutIndexPolicyCommand}.
21
+ */
22
+ export interface PutIndexPolicyCommandOutput extends PutIndexPolicyResponse, __MetadataBearer {
23
+ }
24
+ declare const PutIndexPolicyCommand_base: {
25
+ new (input: PutIndexPolicyCommandInput): import("@smithy/smithy-client").CommandImpl<PutIndexPolicyCommandInput, PutIndexPolicyCommandOutput, CloudWatchLogsClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes>;
26
+ new (__0_0: PutIndexPolicyCommandInput): import("@smithy/smithy-client").CommandImpl<PutIndexPolicyCommandInput, PutIndexPolicyCommandOutput, CloudWatchLogsClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes>;
27
+ getEndpointParameterInstructions(): import("@smithy/middleware-endpoint").EndpointParameterInstructions;
28
+ };
29
+ /**
30
+ * <p>Creates or updates a <i>field index policy</i> for the specified log group. Only log groups
31
+ * in the Standard log class support field index policies. For more information about log classes, see
32
+ * <a href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch_Logs_Log_Classes.html">Log classes</a>.</p>
33
+ * <p>You can use field index policies to create <i>field indexes</i> on fields found in
34
+ * log events in the log group. Creating field indexes speeds up and lowers the costs for CloudWatch Logs Insights queries that reference
35
+ * those field indexes, because these queries attempt to skip the processing of log events that are known to not match the indexed field.
36
+ * Good fields to index are fields that you often need to query for and fields or values that match only a small fraction of the total log events.
37
+ * Common examples of indexes
38
+ * include request ID, session ID, userID, and instance IDs. For more information, see <a href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatchLogs-Field-Indexing.html">Create field indexes to improve query performance and reduce costs</a>.</p>
39
+ * <p>To find the fields that are in your log group events, use the
40
+ * <a href="https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_GetLogGroupFields.html">GetLogGroupFields</a>
41
+ * operation.</p>
42
+ * <p>For example, suppose you have created a field index for <code>requestId</code>. Then, any
43
+ * CloudWatch Logs Insights query on that log group that includes <code>requestId = <i>value</i>
44
+ * </code>
45
+ * or <code>requestId IN [<i>value</i>, <i>value</i>, ...]</code> will process fewer log events
46
+ * to reduce costs, and have improved performance.</p>
47
+ * <p>Each index policy has the following quotas and restrictions:</p>
48
+ * <ul>
49
+ * <li>
50
+ * <p>As many as 20 fields can be included in the policy.</p>
51
+ * </li>
52
+ * <li>
53
+ * <p>Each field name can include as many as 100 characters.</p>
54
+ * </li>
55
+ * </ul>
56
+ * <p>Matches of log events to the names of indexed fields are case-sensitive. For example, a field index
57
+ * of <code>RequestId</code> won't match a log event containing <code>requestId</code>.</p>
58
+ * <p>Log group-level field index policies created with <code>PutIndexPolicy</code> override account-level field
59
+ * index policies created with <a href="https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutAccountPolicy.html">PutAccountPolicy</a>. If you use
60
+ * <code>PutIndexPolicy</code> to create a field
61
+ * index policy for a log group, that log group uses only that policy. The log group ignores any account-wide
62
+ * field index policy that you might have created.</p>
63
+ * @example
64
+ * Use a bare-bones client and the command you need to make an API call.
65
+ * ```javascript
66
+ * import { CloudWatchLogsClient, PutIndexPolicyCommand } from "@aws-sdk/client-cloudwatch-logs"; // ES Modules import
67
+ * // const { CloudWatchLogsClient, PutIndexPolicyCommand } = require("@aws-sdk/client-cloudwatch-logs"); // CommonJS import
68
+ * const client = new CloudWatchLogsClient(config);
69
+ * const input = { // PutIndexPolicyRequest
70
+ * logGroupIdentifier: "STRING_VALUE", // required
71
+ * policyDocument: "STRING_VALUE", // required
72
+ * };
73
+ * const command = new PutIndexPolicyCommand(input);
74
+ * const response = await client.send(command);
75
+ * // { // PutIndexPolicyResponse
76
+ * // indexPolicy: { // IndexPolicy
77
+ * // logGroupIdentifier: "STRING_VALUE",
78
+ * // lastUpdateTime: Number("long"),
79
+ * // policyDocument: "STRING_VALUE",
80
+ * // policyName: "STRING_VALUE",
81
+ * // source: "ACCOUNT" || "LOG_GROUP",
82
+ * // },
83
+ * // };
84
+ *
85
+ * ```
86
+ *
87
+ * @param PutIndexPolicyCommandInput - {@link PutIndexPolicyCommandInput}
88
+ * @returns {@link PutIndexPolicyCommandOutput}
89
+ * @see {@link PutIndexPolicyCommandInput} for command's `input` shape.
90
+ * @see {@link PutIndexPolicyCommandOutput} for command's `response` shape.
91
+ * @see {@link CloudWatchLogsClientResolvedConfig | config} for CloudWatchLogsClient's `config` shape.
92
+ *
93
+ * @throws {@link InvalidParameterException} (client fault)
94
+ * <p>A parameter is specified incorrectly.</p>
95
+ *
96
+ * @throws {@link LimitExceededException} (client fault)
97
+ * <p>You have reached the maximum number of resources that can be created.</p>
98
+ *
99
+ * @throws {@link OperationAbortedException} (client fault)
100
+ * <p>Multiple concurrent requests to update the same resource were in conflict.</p>
101
+ *
102
+ * @throws {@link ResourceNotFoundException} (client fault)
103
+ * <p>The specified resource does not exist.</p>
104
+ *
105
+ * @throws {@link ServiceUnavailableException} (server fault)
106
+ * <p>The service cannot complete the request.</p>
107
+ *
108
+ * @throws {@link CloudWatchLogsServiceException}
109
+ * <p>Base exception class for all service exceptions from CloudWatchLogs service.</p>
110
+ *
111
+ * @public
112
+ */
113
+ export declare class PutIndexPolicyCommand extends PutIndexPolicyCommand_base {
114
+ /** @internal type navigation helper, not in runtime. */
115
+ protected static __types: {
116
+ api: {
117
+ input: PutIndexPolicyRequest;
118
+ output: PutIndexPolicyResponse;
119
+ };
120
+ sdk: {
121
+ input: PutIndexPolicyCommandInput;
122
+ output: PutIndexPolicyCommandOutput;
123
+ };
124
+ };
125
+ }
@@ -33,7 +33,7 @@ declare const PutMetricFilterCommand_base: {
33
33
  * <p>The maximum number of metric filters that can be associated with a log group is
34
34
  * 100.</p>
35
35
  * <p>Using regular expressions to create metric filters is supported. For these filters,
36
- * there is a quotas of quota of two regular expression patterns within a single filter pattern. There
36
+ * there is a quota of two regular expression patterns within a single filter pattern. There
37
37
  * is also a quota of five regular expression patterns per log group.
38
38
  * For more information about using regular expressions in metric filters,
39
39
  * see <a href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/FilterAndPatternSyntax.html">
@@ -77,6 +77,7 @@ declare const PutMetricFilterCommand_base: {
77
77
  * unit: "Seconds" || "Microseconds" || "Milliseconds" || "Bytes" || "Kilobytes" || "Megabytes" || "Gigabytes" || "Terabytes" || "Bits" || "Kilobits" || "Megabits" || "Gigabits" || "Terabits" || "Percent" || "Count" || "Bytes/Second" || "Kilobytes/Second" || "Megabytes/Second" || "Gigabytes/Second" || "Terabytes/Second" || "Bits/Second" || "Kilobits/Second" || "Megabits/Second" || "Gigabits/Second" || "Terabits/Second" || "Count/Second" || "None",
78
78
  * },
79
79
  * ],
80
+ * applyOnTransformedLogs: true || false,
80
81
  * };
81
82
  * const command = new PutMetricFilterCommand(input);
82
83
  * const response = await client.send(command);
@@ -90,6 +91,9 @@ declare const PutMetricFilterCommand_base: {
90
91
  * @see {@link PutMetricFilterCommandOutput} for command's `response` shape.
91
92
  * @see {@link CloudWatchLogsClientResolvedConfig | config} for CloudWatchLogsClient's `config` shape.
92
93
  *
94
+ * @throws {@link InvalidOperationException} (client fault)
95
+ * <p>The operation is not valid on the specified resource.</p>
96
+ *
93
97
  * @throws {@link InvalidParameterException} (client fault)
94
98
  * <p>A parameter is specified incorrectly.</p>
95
99
  *
@@ -76,6 +76,7 @@ declare const PutSubscriptionFilterCommand_base: {
76
76
  * destinationArn: "STRING_VALUE", // required
77
77
  * roleArn: "STRING_VALUE",
78
78
  * distribution: "Random" || "ByLogStream",
79
+ * applyOnTransformedLogs: true || false,
79
80
  * };
80
81
  * const command = new PutSubscriptionFilterCommand(input);
81
82
  * const response = await client.send(command);
@@ -89,6 +90,9 @@ declare const PutSubscriptionFilterCommand_base: {
89
90
  * @see {@link PutSubscriptionFilterCommandOutput} for command's `response` shape.
90
91
  * @see {@link CloudWatchLogsClientResolvedConfig | config} for CloudWatchLogsClient's `config` shape.
91
92
  *
93
+ * @throws {@link InvalidOperationException} (client fault)
94
+ * <p>The operation is not valid on the specified resource.</p>
95
+ *
92
96
  * @throws {@link InvalidParameterException} (client fault)
93
97
  * <p>A parameter is specified incorrectly.</p>
94
98
  *