aws-sdk-cloudwatchlogs 1.102.0 → 1.104.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -43,8 +43,7 @@ module Aws::CloudWatchLogs
43
43
  # @return [String]
44
44
  #
45
45
  # @!attribute [rw] selection_criteria
46
- # The log group selection criteria for this subscription filter
47
- # policy.
46
+ # The log group selection criteria that is used for this policy.
48
47
  # @return [String]
49
48
  #
50
49
  # @!attribute [rw] account_id
@@ -65,6 +64,58 @@ module Aws::CloudWatchLogs
65
64
  include Aws::Structure
66
65
  end
67
66
 
67
+ # This object defines one key that will be added with the [ addKeys][1]
68
+ # processor.
69
+ #
70
+ #
71
+ #
72
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-addKey
73
+ #
74
+ # @!attribute [rw] key
75
+ # The key of the new entry to be added to the log event
76
+ # @return [String]
77
+ #
78
+ # @!attribute [rw] value
79
+ # The value of the new entry to be added to the log event
80
+ # @return [String]
81
+ #
82
+ # @!attribute [rw] overwrite_if_exists
83
+ # Specifies whether to overwrite the value if the key already exists
84
+ # in the log event. If you omit this, the default is `false`.
85
+ # @return [Boolean]
86
+ #
87
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/AddKeyEntry AWS API Documentation
88
+ #
89
+ class AddKeyEntry < Struct.new(
90
+ :key,
91
+ :value,
92
+ :overwrite_if_exists)
93
+ SENSITIVE = []
94
+ include Aws::Structure
95
+ end
96
+
97
+ # This processor adds new key-value pairs to the log event.
98
+ #
99
+ # For more information about this processor including examples, see [
100
+ # addKeys][1] in the *CloudWatch Logs User Guide*.
101
+ #
102
+ #
103
+ #
104
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-addKeys
105
+ #
106
+ # @!attribute [rw] entries
107
+ # An array of objects, where each object contains the information
108
+ # about one key to add to the log event.
109
+ # @return [Array<Types::AddKeyEntry>]
110
+ #
111
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/AddKeys AWS API Documentation
112
+ #
113
+ class AddKeys < Struct.new(
114
+ :entries)
115
+ SENSITIVE = []
116
+ include Aws::Structure
117
+ end
118
+
68
119
  # This structure represents one anomaly that has been found by a logs
69
120
  # anomaly detector.
70
121
  #
@@ -339,6 +390,53 @@ module Aws::CloudWatchLogs
339
390
  include Aws::Structure
340
391
  end
341
392
 
393
+ # The `CSV` processor parses comma-separated values (CSV) from the log
394
+ # events into columns.
395
+ #
396
+ # For more information about this processor including examples, see [
397
+ # csv][1] in the *CloudWatch Logs User Guide*.
398
+ #
399
+ #
400
+ #
401
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-csv
402
+ #
403
+ # @!attribute [rw] quote_character
404
+ # The character used used as a text qualifier for a single column of
405
+ # data. If you omit this, the double quotation mark `"` character is
406
+ # used.
407
+ # @return [String]
408
+ #
409
+ # @!attribute [rw] delimiter
410
+ # The character used to separate each column in the original
411
+ # comma-separated value log event. If you omit this, the processor
412
+ # looks for the comma `,` character as the delimiter.
413
+ # @return [String]
414
+ #
415
+ # @!attribute [rw] columns
416
+ # An array of names to use for the columns in the transformed log
417
+ # event.
418
+ #
419
+ # If you omit this, default column names (`[column_1, column_2 ...]`)
420
+ # are used.
421
+ # @return [Array<String>]
422
+ #
423
+ # @!attribute [rw] source
424
+ # The path to the field in the log event that has the comma separated
425
+ # values to be parsed. If you omit this value, the whole log message
426
+ # is processed.
427
+ # @return [String]
428
+ #
429
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/CSV AWS API Documentation
430
+ #
431
+ class CSV < Struct.new(
432
+ :quote_character,
433
+ :delimiter,
434
+ :columns,
435
+ :source)
436
+ SENSITIVE = []
437
+ include Aws::Structure
438
+ end
439
+
342
440
  # @!attribute [rw] task_id
343
441
  # The ID of the export task.
344
442
  # @return [String]
@@ -498,6 +596,61 @@ module Aws::CloudWatchLogs
498
596
  #
499
597
  class ConflictException < Aws::EmptyStructure; end
500
598
 
599
+ # This processor copies values within a log event. You can also use this
600
+ # processor to add metadata to log events by copying the values of the
601
+ # following metadata keys into the log events: `@logGroupName`,
602
+ # `@logGroupStream`, `@accountId`, `@regionName`.
603
+ #
604
+ # For more information about this processor including examples, see [
605
+ # copyValue][1] in the *CloudWatch Logs User Guide*.
606
+ #
607
+ #
608
+ #
609
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-copyValue
610
+ #
611
+ # @!attribute [rw] entries
612
+ # An array of `CopyValueEntry` objects, where each object contains the
613
+ # information about one field value to copy.
614
+ # @return [Array<Types::CopyValueEntry>]
615
+ #
616
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/CopyValue AWS API Documentation
617
+ #
618
+ class CopyValue < Struct.new(
619
+ :entries)
620
+ SENSITIVE = []
621
+ include Aws::Structure
622
+ end
623
+
624
+ # This object defines one value to be copied with the [ copyValue][1]
625
+ # processor.
626
+ #
627
+ #
628
+ #
629
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-copoyValue
630
+ #
631
+ # @!attribute [rw] source
632
+ # The key to copy.
633
+ # @return [String]
634
+ #
635
+ # @!attribute [rw] target
636
+ # The key of the field to copy the value to.
637
+ # @return [String]
638
+ #
639
+ # @!attribute [rw] overwrite_if_exists
640
+ # Specifies whether to overwrite the value if the destination key
641
+ # already exists. If you omit this, the default is `false`.
642
+ # @return [Boolean]
643
+ #
644
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/CopyValueEntry AWS API Documentation
645
+ #
646
+ class CopyValueEntry < Struct.new(
647
+ :source,
648
+ :target,
649
+ :overwrite_if_exists)
650
+ SENSITIVE = []
651
+ include Aws::Structure
652
+ end
653
+
501
654
  # @!attribute [rw] delivery_source_name
502
655
  # The name of the delivery source to use for this delivery.
503
656
  # @return [String]
@@ -815,6 +968,65 @@ module Aws::CloudWatchLogs
815
968
  include Aws::Structure
816
969
  end
817
970
 
971
+ # This processor converts a datetime string into a format that you
972
+ # specify.
973
+ #
974
+ # For more information about this processor including examples, see [
975
+ # datetimeConverter][1] in the *CloudWatch Logs User Guide*.
976
+ #
977
+ #
978
+ #
979
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-datetimeConverter
980
+ #
981
+ # @!attribute [rw] source
982
+ # The key to apply the date conversion to.
983
+ # @return [String]
984
+ #
985
+ # @!attribute [rw] target
986
+ # The JSON field to store the result in.
987
+ # @return [String]
988
+ #
989
+ # @!attribute [rw] target_format
990
+ # The datetime format to use for the converted data in the target
991
+ # field.
992
+ #
993
+ # If you omit this, the default of ` yyyy-MM-dd'T'HH:mm:ss.SSS'Z` is
994
+ # used.
995
+ # @return [String]
996
+ #
997
+ # @!attribute [rw] match_patterns
998
+ # A list of patterns to match against the `source` field.
999
+ # @return [Array<String>]
1000
+ #
1001
+ # @!attribute [rw] source_timezone
1002
+ # The time zone of the source field. If you omit this, the default
1003
+ # used is the UTC zone.
1004
+ # @return [String]
1005
+ #
1006
+ # @!attribute [rw] target_timezone
1007
+ # The time zone of the target field. If you omit this, the default
1008
+ # used is the UTC zone.
1009
+ # @return [String]
1010
+ #
1011
+ # @!attribute [rw] locale
1012
+ # The locale of the source field. If you omit this, the default of
1013
+ # `locale.ROOT` is used.
1014
+ # @return [String]
1015
+ #
1016
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DateTimeConverter AWS API Documentation
1017
+ #
1018
+ class DateTimeConverter < Struct.new(
1019
+ :source,
1020
+ :target,
1021
+ :target_format,
1022
+ :match_patterns,
1023
+ :source_timezone,
1024
+ :target_timezone,
1025
+ :locale)
1026
+ SENSITIVE = []
1027
+ include Aws::Structure
1028
+ end
1029
+
818
1030
  # @!attribute [rw] policy_name
819
1031
  # The name of the policy to delete.
820
1032
  # @return [String]
@@ -917,6 +1129,74 @@ module Aws::CloudWatchLogs
917
1129
  include Aws::Structure
918
1130
  end
919
1131
 
1132
+ # @!attribute [rw] log_group_identifier
1133
+ # The log group to delete the index policy for. You can specify either
1134
+ # the name or the ARN of the log group.
1135
+ # @return [String]
1136
+ #
1137
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DeleteIndexPolicyRequest AWS API Documentation
1138
+ #
1139
+ class DeleteIndexPolicyRequest < Struct.new(
1140
+ :log_group_identifier)
1141
+ SENSITIVE = []
1142
+ include Aws::Structure
1143
+ end
1144
+
1145
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DeleteIndexPolicyResponse AWS API Documentation
1146
+ #
1147
+ class DeleteIndexPolicyResponse < Aws::EmptyStructure; end
1148
+
1149
+ # @!attribute [rw] integration_name
1150
+ # The name of the integration to delete. To find the name of your
1151
+ # integration, use [ListIntegrations][1].
1152
+ #
1153
+ #
1154
+ #
1155
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_ListIntegrations.html
1156
+ # @return [String]
1157
+ #
1158
+ # @!attribute [rw] force
1159
+ # Specify `true` to force the deletion of the integration even if
1160
+ # vended logs dashboards currently exist.
1161
+ #
1162
+ # The default is `false`.
1163
+ # @return [Boolean]
1164
+ #
1165
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DeleteIntegrationRequest AWS API Documentation
1166
+ #
1167
+ class DeleteIntegrationRequest < Struct.new(
1168
+ :integration_name,
1169
+ :force)
1170
+ SENSITIVE = []
1171
+ include Aws::Structure
1172
+ end
1173
+
1174
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DeleteIntegrationResponse AWS API Documentation
1175
+ #
1176
+ class DeleteIntegrationResponse < Aws::EmptyStructure; end
1177
+
1178
+ # This processor deletes entries from a log event. These entries are
1179
+ # key-value pairs.
1180
+ #
1181
+ # For more information about this processor including examples, see [
1182
+ # deleteKeys][1] in the *CloudWatch Logs User Guide*.
1183
+ #
1184
+ #
1185
+ #
1186
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-deleteKeys
1187
+ #
1188
+ # @!attribute [rw] with_keys
1189
+ # The list of keys to delete.
1190
+ # @return [Array<String>]
1191
+ #
1192
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DeleteKeys AWS API Documentation
1193
+ #
1194
+ class DeleteKeys < Struct.new(
1195
+ :with_keys)
1196
+ SENSITIVE = []
1197
+ include Aws::Structure
1198
+ end
1199
+
920
1200
  # @!attribute [rw] anomaly_detector_arn
921
1201
  # The ARN of the anomaly detector to delete. You can find the ARNs of
922
1202
  # log anomaly detectors in your account by using the
@@ -1053,6 +1333,20 @@ module Aws::CloudWatchLogs
1053
1333
  include Aws::Structure
1054
1334
  end
1055
1335
 
1336
+ # @!attribute [rw] log_group_identifier
1337
+ # Specify either the name or ARN of the log group to delete the
1338
+ # transformer for. If the log group is in a source account and you are
1339
+ # using a monitoring account, you must use the log group ARN.
1340
+ # @return [String]
1341
+ #
1342
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DeleteTransformerRequest AWS API Documentation
1343
+ #
1344
+ class DeleteTransformerRequest < Struct.new(
1345
+ :log_group_identifier)
1346
+ SENSITIVE = []
1347
+ include Aws::Structure
1348
+ end
1349
+
1056
1350
  # This structure contains information about one *delivery* in your
1057
1351
  # account.
1058
1352
  #
@@ -1325,12 +1619,18 @@ module Aws::CloudWatchLogs
1325
1619
  # is returned.
1326
1620
  # @return [Array<String>]
1327
1621
  #
1622
+ # @!attribute [rw] next_token
1623
+ # The token for the next set of items to return. (You received this
1624
+ # token from a previous call.)
1625
+ # @return [String]
1626
+ #
1328
1627
  # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DescribeAccountPoliciesRequest AWS API Documentation
1329
1628
  #
1330
1629
  class DescribeAccountPoliciesRequest < Struct.new(
1331
1630
  :policy_type,
1332
1631
  :policy_name,
1333
- :account_identifiers)
1632
+ :account_identifiers,
1633
+ :next_token)
1334
1634
  SENSITIVE = []
1335
1635
  include Aws::Structure
1336
1636
  end
@@ -1340,10 +1640,16 @@ module Aws::CloudWatchLogs
1340
1640
  # Logs account policies that match the specified filters.
1341
1641
  # @return [Array<Types::AccountPolicy>]
1342
1642
  #
1643
+ # @!attribute [rw] next_token
1644
+ # The token to use when requesting the next set of items. The token
1645
+ # expires after 24 hours.
1646
+ # @return [String]
1647
+ #
1343
1648
  # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DescribeAccountPoliciesResponse AWS API Documentation
1344
1649
  #
1345
1650
  class DescribeAccountPoliciesResponse < Struct.new(
1346
- :account_policies)
1651
+ :account_policies,
1652
+ :next_token)
1347
1653
  SENSITIVE = []
1348
1654
  include Aws::Structure
1349
1655
  end
@@ -1620,6 +1926,80 @@ module Aws::CloudWatchLogs
1620
1926
  include Aws::Structure
1621
1927
  end
1622
1928
 
1929
+ # @!attribute [rw] log_group_identifiers
1930
+ # An array containing the names or ARNs of the log groups that you
1931
+ # want to retrieve field indexes for.
1932
+ # @return [Array<String>]
1933
+ #
1934
+ # @!attribute [rw] next_token
1935
+ # The token for the next set of items to return. The token expires
1936
+ # after 24 hours.
1937
+ # @return [String]
1938
+ #
1939
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DescribeFieldIndexesRequest AWS API Documentation
1940
+ #
1941
+ class DescribeFieldIndexesRequest < Struct.new(
1942
+ :log_group_identifiers,
1943
+ :next_token)
1944
+ SENSITIVE = []
1945
+ include Aws::Structure
1946
+ end
1947
+
1948
+ # @!attribute [rw] field_indexes
1949
+ # An array containing the field index information.
1950
+ # @return [Array<Types::FieldIndex>]
1951
+ #
1952
+ # @!attribute [rw] next_token
1953
+ # The token for the next set of items to return. The token expires
1954
+ # after 24 hours.
1955
+ # @return [String]
1956
+ #
1957
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DescribeFieldIndexesResponse AWS API Documentation
1958
+ #
1959
+ class DescribeFieldIndexesResponse < Struct.new(
1960
+ :field_indexes,
1961
+ :next_token)
1962
+ SENSITIVE = []
1963
+ include Aws::Structure
1964
+ end
1965
+
1966
+ # @!attribute [rw] log_group_identifiers
1967
+ # An array containing the name or ARN of the log group that you want
1968
+ # to retrieve field index policies for.
1969
+ # @return [Array<String>]
1970
+ #
1971
+ # @!attribute [rw] next_token
1972
+ # The token for the next set of items to return. The token expires
1973
+ # after 24 hours.
1974
+ # @return [String]
1975
+ #
1976
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DescribeIndexPoliciesRequest AWS API Documentation
1977
+ #
1978
+ class DescribeIndexPoliciesRequest < Struct.new(
1979
+ :log_group_identifiers,
1980
+ :next_token)
1981
+ SENSITIVE = []
1982
+ include Aws::Structure
1983
+ end
1984
+
1985
+ # @!attribute [rw] index_policies
1986
+ # An array containing the field index policies.
1987
+ # @return [Array<Types::IndexPolicy>]
1988
+ #
1989
+ # @!attribute [rw] next_token
1990
+ # The token for the next set of items to return. The token expires
1991
+ # after 24 hours.
1992
+ # @return [String]
1993
+ #
1994
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DescribeIndexPoliciesResponse AWS API Documentation
1995
+ #
1996
+ class DescribeIndexPoliciesResponse < Struct.new(
1997
+ :index_policies,
1998
+ :next_token)
1999
+ SENSITIVE = []
2000
+ include Aws::Structure
2001
+ end
2002
+
1623
2003
  # @!attribute [rw] account_identifiers
1624
2004
  # When `includeLinkedAccounts` is set to `True`, use this parameter to
1625
2005
  # specify the list of accounts to search. You can specify as many as
@@ -1898,13 +2278,19 @@ module Aws::CloudWatchLogs
1898
2278
  # after 24 hours.
1899
2279
  # @return [String]
1900
2280
  #
2281
+ # @!attribute [rw] query_language
2282
+ # Limits the returned queries to only the queries that use the
2283
+ # specified query language.
2284
+ # @return [String]
2285
+ #
1901
2286
  # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DescribeQueriesRequest AWS API Documentation
1902
2287
  #
1903
2288
  class DescribeQueriesRequest < Struct.new(
1904
2289
  :log_group_name,
1905
2290
  :status,
1906
2291
  :max_results,
1907
- :next_token)
2292
+ :next_token,
2293
+ :query_language)
1908
2294
  SENSITIVE = []
1909
2295
  include Aws::Structure
1910
2296
  end
@@ -1927,6 +2313,16 @@ module Aws::CloudWatchLogs
1927
2313
  include Aws::Structure
1928
2314
  end
1929
2315
 
2316
+ # @!attribute [rw] query_language
2317
+ # The query language used for this query. For more information about
2318
+ # the query languages that CloudWatch Logs supports, see [Supported
2319
+ # query languages][1].
2320
+ #
2321
+ #
2322
+ #
2323
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_AnalyzeLogData_Languages.html
2324
+ # @return [String]
2325
+ #
1930
2326
  # @!attribute [rw] query_definition_name_prefix
1931
2327
  # Use this parameter to filter your results to only the query
1932
2328
  # definitions that have names that start with the prefix you specify.
@@ -1945,6 +2341,7 @@ module Aws::CloudWatchLogs
1945
2341
  # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DescribeQueryDefinitionsRequest AWS API Documentation
1946
2342
  #
1947
2343
  class DescribeQueryDefinitionsRequest < Struct.new(
2344
+ :query_language,
1948
2345
  :query_definition_name_prefix,
1949
2346
  :max_results,
1950
2347
  :next_token)
@@ -2145,14 +2542,34 @@ module Aws::CloudWatchLogs
2145
2542
  include Aws::Structure
2146
2543
  end
2147
2544
 
2148
- # Reserved for internal use.
2545
+ # The entity associated with the log events in a `PutLogEvents` call.
2149
2546
  #
2150
2547
  # @!attribute [rw] key_attributes
2151
- # Reserved for internal use.
2548
+ # The attributes of the entity which identify the specific entity, as
2549
+ # a list of key-value pairs. Entities with the same `keyAttributes`
2550
+ # are considered to be the same entity.
2551
+ #
2552
+ # There are five allowed attributes (key names): `Type`,
2553
+ # `ResourceType`, `Identifier` `Name`, and `Environment`.
2554
+ #
2555
+ # For details about how to use the key attributes, see [How to add
2556
+ # related information to telemetry][1] in the *CloudWatch User Guide*.
2557
+ #
2558
+ #
2559
+ #
2560
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/adding-your-own-related-telemetry.html
2152
2561
  # @return [Hash<String,String>]
2153
2562
  #
2154
2563
  # @!attribute [rw] attributes
2155
- # Reserved for internal use.
2564
+ # Additional attributes of the entity that are not used to specify the
2565
+ # identity of the entity. A list of key-value pairs.
2566
+ #
2567
+ # For details about how to use the attributes, see [How to add related
2568
+ # information to telemetry][1] in the *CloudWatch User Guide*.
2569
+ #
2570
+ #
2571
+ #
2572
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/adding-your-own-related-telemetry.html
2156
2573
  # @return [Hash<String,String>]
2157
2574
  #
2158
2575
  # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/Entity AWS API Documentation
@@ -2263,6 +2680,46 @@ module Aws::CloudWatchLogs
2263
2680
  include Aws::Structure
2264
2681
  end
2265
2682
 
2683
+ # This structure describes one log event field that is used as an index
2684
+ # in at least one index policy in this account.
2685
+ #
2686
+ # @!attribute [rw] log_group_identifier
2687
+ # If this field index appears in an index policy that applies only to
2688
+ # a single log group, the ARN of that log group is displayed here.
2689
+ # @return [String]
2690
+ #
2691
+ # @!attribute [rw] field_index_name
2692
+ # The string that this field index matches.
2693
+ # @return [String]
2694
+ #
2695
+ # @!attribute [rw] last_scan_time
2696
+ # The most recent time that CloudWatch Logs scanned ingested log
2697
+ # events to search for this field index to improve the speed of future
2698
+ # CloudWatch Logs Insights queries that search for this field index.
2699
+ # @return [Integer]
2700
+ #
2701
+ # @!attribute [rw] first_event_time
2702
+ # The time and date of the earliest log event that matches this field
2703
+ # index, after the index policy that contains it was created.
2704
+ # @return [Integer]
2705
+ #
2706
+ # @!attribute [rw] last_event_time
2707
+ # The time and date of the most recent log event that matches this
2708
+ # field index.
2709
+ # @return [Integer]
2710
+ #
2711
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/FieldIndex AWS API Documentation
2712
+ #
2713
+ class FieldIndex < Struct.new(
2714
+ :log_group_identifier,
2715
+ :field_index_name,
2716
+ :last_scan_time,
2717
+ :first_event_time,
2718
+ :last_event_time)
2719
+ SENSITIVE = []
2720
+ include Aws::Structure
2721
+ end
2722
+
2266
2723
  # @!attribute [rw] log_group_name
2267
2724
  # The name of the log group to search.
2268
2725
  #
@@ -2566,17 +3023,65 @@ module Aws::CloudWatchLogs
2566
3023
  include Aws::Structure
2567
3024
  end
2568
3025
 
2569
- # @!attribute [rw] anomaly_detector_arn
2570
- # The ARN of the anomaly detector to retrieve information about. You
2571
- # can find the ARNs of log anomaly detectors in your account by using
2572
- # the [ListLogAnomalyDetectors][1] operation.
3026
+ # @!attribute [rw] integration_name
3027
+ # The name of the integration that you want to find information about.
3028
+ # To find the name of your integration, use [ListIntegrations][1]
2573
3029
  #
2574
3030
  #
2575
3031
  #
2576
- # [1]: https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_ListLogAnomalyDetectors.html
3032
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_ListIntegrations.html
2577
3033
  # @return [String]
2578
3034
  #
2579
- # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/GetLogAnomalyDetectorRequest AWS API Documentation
3035
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/GetIntegrationRequest AWS API Documentation
3036
+ #
3037
+ class GetIntegrationRequest < Struct.new(
3038
+ :integration_name)
3039
+ SENSITIVE = []
3040
+ include Aws::Structure
3041
+ end
3042
+
3043
+ # @!attribute [rw] integration_name
3044
+ # The name of the integration.
3045
+ # @return [String]
3046
+ #
3047
+ # @!attribute [rw] integration_type
3048
+ # The type of integration. Integrations with OpenSearch Service have
3049
+ # the type `OPENSEARCH`.
3050
+ # @return [String]
3051
+ #
3052
+ # @!attribute [rw] integration_status
3053
+ # The current status of this integration.
3054
+ # @return [String]
3055
+ #
3056
+ # @!attribute [rw] integration_details
3057
+ # A structure that contains information about the integration
3058
+ # configuration. For an integration with OpenSearch Service, this
3059
+ # includes information about OpenSearch Service resources such as the
3060
+ # collection, the workspace, and policies.
3061
+ # @return [Types::IntegrationDetails]
3062
+ #
3063
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/GetIntegrationResponse AWS API Documentation
3064
+ #
3065
+ class GetIntegrationResponse < Struct.new(
3066
+ :integration_name,
3067
+ :integration_type,
3068
+ :integration_status,
3069
+ :integration_details)
3070
+ SENSITIVE = []
3071
+ include Aws::Structure
3072
+ end
3073
+
3074
+ # @!attribute [rw] anomaly_detector_arn
3075
+ # The ARN of the anomaly detector to retrieve information about. You
3076
+ # can find the ARNs of log anomaly detectors in your account by using
3077
+ # the [ListLogAnomalyDetectors][1] operation.
3078
+ #
3079
+ #
3080
+ #
3081
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_ListLogAnomalyDetectors.html
3082
+ # @return [String]
3083
+ #
3084
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/GetLogAnomalyDetectorRequest AWS API Documentation
2580
3085
  #
2581
3086
  class GetLogAnomalyDetectorRequest < Struct.new(
2582
3087
  :anomaly_detector_arn)
@@ -2865,6 +3370,16 @@ module Aws::CloudWatchLogs
2865
3370
  include Aws::Structure
2866
3371
  end
2867
3372
 
3373
+ # @!attribute [rw] query_language
3374
+ # The query language used for this query. For more information about
3375
+ # the query languages that CloudWatch Logs supports, see [Supported
3376
+ # query languages][1].
3377
+ #
3378
+ #
3379
+ #
3380
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_AnalyzeLogData_Languages.html
3381
+ # @return [String]
3382
+ #
2868
3383
  # @!attribute [rw] results
2869
3384
  # The log events that matched the query criteria during the most
2870
3385
  # recent time it ran.
@@ -2905,6 +3420,7 @@ module Aws::CloudWatchLogs
2905
3420
  # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/GetQueryResultsResponse AWS API Documentation
2906
3421
  #
2907
3422
  class GetQueryResultsResponse < Struct.new(
3423
+ :query_language,
2908
3424
  :results,
2909
3425
  :statistics,
2910
3426
  :status,
@@ -2913,6 +3429,124 @@ module Aws::CloudWatchLogs
2913
3429
  include Aws::Structure
2914
3430
  end
2915
3431
 
3432
+ # @!attribute [rw] log_group_identifier
3433
+ # Specify either the name or ARN of the log group to return
3434
+ # transformer information for. If the log group is in a source account
3435
+ # and you are using a monitoring account, you must use the log group
3436
+ # ARN.
3437
+ # @return [String]
3438
+ #
3439
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/GetTransformerRequest AWS API Documentation
3440
+ #
3441
+ class GetTransformerRequest < Struct.new(
3442
+ :log_group_identifier)
3443
+ SENSITIVE = []
3444
+ include Aws::Structure
3445
+ end
3446
+
3447
+ # @!attribute [rw] log_group_identifier
3448
+ # The ARN of the log group that you specified in your request.
3449
+ # @return [String]
3450
+ #
3451
+ # @!attribute [rw] creation_time
3452
+ # The creation time of the transformer, expressed as the number of
3453
+ # milliseconds after Jan 1, 1970 00:00:00 UTC.
3454
+ # @return [Integer]
3455
+ #
3456
+ # @!attribute [rw] last_modified_time
3457
+ # The date and time when this transformer was most recently modified,
3458
+ # expressed as the number of milliseconds after Jan 1, 1970 00:00:00
3459
+ # UTC.
3460
+ # @return [Integer]
3461
+ #
3462
+ # @!attribute [rw] transformer_config
3463
+ # This sructure contains the configuration of the requested
3464
+ # transformer.
3465
+ # @return [Array<Types::Processor>]
3466
+ #
3467
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/GetTransformerResponse AWS API Documentation
3468
+ #
3469
+ class GetTransformerResponse < Struct.new(
3470
+ :log_group_identifier,
3471
+ :creation_time,
3472
+ :last_modified_time,
3473
+ :transformer_config)
3474
+ SENSITIVE = []
3475
+ include Aws::Structure
3476
+ end
3477
+
3478
+ # This processor uses pattern matching to parse and structure
3479
+ # unstructured data. This processor can also extract fields from log
3480
+ # messages.
3481
+ #
3482
+ # For more information about this processor including examples, see [
3483
+ # grok][1] in the *CloudWatch Logs User Guide*.
3484
+ #
3485
+ #
3486
+ #
3487
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-Grok
3488
+ #
3489
+ # @!attribute [rw] source
3490
+ # The path to the field in the log event that you want to parse. If
3491
+ # you omit this value, the whole log message is parsed.
3492
+ # @return [String]
3493
+ #
3494
+ # @!attribute [rw] match
3495
+ # The grok pattern to match against the log event. For a list of
3496
+ # supported grok patterns, see [Supported grok patterns][1].
3497
+ #
3498
+ #
3499
+ #
3500
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#Grok-Patterns
3501
+ # @return [String]
3502
+ #
3503
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/Grok AWS API Documentation
3504
+ #
3505
+ class Grok < Struct.new(
3506
+ :source,
3507
+ :match)
3508
+ SENSITIVE = []
3509
+ include Aws::Structure
3510
+ end
3511
+
3512
+ # This structure contains information about one field index policy in
3513
+ # this account.
3514
+ #
3515
+ # @!attribute [rw] log_group_identifier
3516
+ # The ARN of the log group that this index policy applies to.
3517
+ # @return [String]
3518
+ #
3519
+ # @!attribute [rw] last_update_time
3520
+ # The date and time that this index policy was most recently updated.
3521
+ # @return [Integer]
3522
+ #
3523
+ # @!attribute [rw] policy_document
3524
+ # The policy document for this index policy, in JSON format.
3525
+ # @return [String]
3526
+ #
3527
+ # @!attribute [rw] policy_name
3528
+ # The name of this policy. Responses about log group-level field index
3529
+ # policies don't have this field, because those policies don't have
3530
+ # names.
3531
+ # @return [String]
3532
+ #
3533
+ # @!attribute [rw] source
3534
+ # This field indicates whether this is an account-level index policy
3535
+ # or an index policy that applies only to a single log group.
3536
+ # @return [String]
3537
+ #
3538
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/IndexPolicy AWS API Documentation
3539
+ #
3540
+ class IndexPolicy < Struct.new(
3541
+ :log_group_identifier,
3542
+ :last_update_time,
3543
+ :policy_document,
3544
+ :policy_name,
3545
+ :source)
3546
+ SENSITIVE = []
3547
+ include Aws::Structure
3548
+ end
3549
+
2916
3550
  # Represents a log event, which is a record of activity that was
2917
3551
  # recorded by the application or resource being monitored.
2918
3552
  #
@@ -2934,6 +3568,68 @@ module Aws::CloudWatchLogs
2934
3568
  include Aws::Structure
2935
3569
  end
2936
3570
 
3571
+ # This structure contains information about the integration
3572
+ # configuration. For an integration with OpenSearch Service, this
3573
+ # includes information about OpenSearch Service resources such as the
3574
+ # collection, the workspace, and policies.
3575
+ #
3576
+ # This structure is returned by a [GetIntegration][1] operation.
3577
+ #
3578
+ #
3579
+ #
3580
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_GetIntegration.html
3581
+ #
3582
+ # @note IntegrationDetails is a union - when returned from an API call exactly one value will be set and the returned type will be a subclass of IntegrationDetails corresponding to the set member.
3583
+ #
3584
+ # @!attribute [rw] open_search_integration_details
3585
+ # This structure contains complete information about one integration
3586
+ # between CloudWatch Logs and OpenSearch Service.
3587
+ # @return [Types::OpenSearchIntegrationDetails]
3588
+ #
3589
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/IntegrationDetails AWS API Documentation
3590
+ #
3591
+ class IntegrationDetails < Struct.new(
3592
+ :open_search_integration_details,
3593
+ :unknown)
3594
+ SENSITIVE = []
3595
+ include Aws::Structure
3596
+ include Aws::Structure::Union
3597
+
3598
+ class OpenSearchIntegrationDetails < IntegrationDetails; end
3599
+ class Unknown < IntegrationDetails; end
3600
+ end
3601
+
3602
+ # This structure contains information about one CloudWatch Logs
3603
+ # integration. This structure is returned by a [ListIntegrations][1]
3604
+ # operation.
3605
+ #
3606
+ #
3607
+ #
3608
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_ListIntegrations.html
3609
+ #
3610
+ # @!attribute [rw] integration_name
3611
+ # The name of this integration.
3612
+ # @return [String]
3613
+ #
3614
+ # @!attribute [rw] integration_type
3615
+ # The type of integration. Integrations with OpenSearch Service have
3616
+ # the type `OPENSEARCH`.
3617
+ # @return [String]
3618
+ #
3619
+ # @!attribute [rw] integration_status
3620
+ # The current status of this integration.
3621
+ # @return [String]
3622
+ #
3623
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/IntegrationSummary AWS API Documentation
3624
+ #
3625
+ class IntegrationSummary < Struct.new(
3626
+ :integration_name,
3627
+ :integration_type,
3628
+ :integration_status)
3629
+ SENSITIVE = []
3630
+ include Aws::Structure
3631
+ end
3632
+
2937
3633
  # The operation is not valid on the specified resource.
2938
3634
  #
2939
3635
  # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/InvalidOperationException AWS API Documentation
@@ -3022,6 +3718,44 @@ module Aws::CloudWatchLogs
3022
3718
  include Aws::Structure
3023
3719
  end
3024
3720
 
3721
+ # @!attribute [rw] integration_name_prefix
3722
+ # To limit the results to integrations that start with a certain name
3723
+ # prefix, specify that name prefix here.
3724
+ # @return [String]
3725
+ #
3726
+ # @!attribute [rw] integration_type
3727
+ # To limit the results to integrations of a certain type, specify that
3728
+ # type here.
3729
+ # @return [String]
3730
+ #
3731
+ # @!attribute [rw] integration_status
3732
+ # To limit the results to integrations with a certain status, specify
3733
+ # that status here.
3734
+ # @return [String]
3735
+ #
3736
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/ListIntegrationsRequest AWS API Documentation
3737
+ #
3738
+ class ListIntegrationsRequest < Struct.new(
3739
+ :integration_name_prefix,
3740
+ :integration_type,
3741
+ :integration_status)
3742
+ SENSITIVE = []
3743
+ include Aws::Structure
3744
+ end
3745
+
3746
+ # @!attribute [rw] integration_summaries
3747
+ # An array, where each object in the array contains information about
3748
+ # one CloudWatch Logs integration in this account.
3749
+ # @return [Array<Types::IntegrationSummary>]
3750
+ #
3751
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/ListIntegrationsResponse AWS API Documentation
3752
+ #
3753
+ class ListIntegrationsResponse < Struct.new(
3754
+ :integration_summaries)
3755
+ SENSITIVE = []
3756
+ include Aws::Structure
3757
+ end
3758
+
3025
3759
  # @!attribute [rw] filter_log_group_arn
3026
3760
  # Use this to optionally filter the results to only include anomaly
3027
3761
  # detectors that are associated with the specified log group.
@@ -3066,6 +3800,53 @@ module Aws::CloudWatchLogs
3066
3800
  include Aws::Structure
3067
3801
  end
3068
3802
 
3803
+ # @!attribute [rw] query_id
3804
+ # The ID of the query to use. This query ID is from the response to
3805
+ # your [StartQuery][1] operation.
3806
+ #
3807
+ #
3808
+ #
3809
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_StartQuery.html
3810
+ # @return [String]
3811
+ #
3812
+ # @!attribute [rw] next_token
3813
+ # The token for the next set of items to return. The token expires
3814
+ # after 24 hours.
3815
+ # @return [String]
3816
+ #
3817
+ # @!attribute [rw] max_results
3818
+ # Limits the number of returned log groups to the specified number.
3819
+ # @return [Integer]
3820
+ #
3821
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/ListLogGroupsForQueryRequest AWS API Documentation
3822
+ #
3823
+ class ListLogGroupsForQueryRequest < Struct.new(
3824
+ :query_id,
3825
+ :next_token,
3826
+ :max_results)
3827
+ SENSITIVE = []
3828
+ include Aws::Structure
3829
+ end
3830
+
3831
+ # @!attribute [rw] log_group_identifiers
3832
+ # An array of the names and ARNs of the log groups that were processed
3833
+ # in the query.
3834
+ # @return [Array<String>]
3835
+ #
3836
+ # @!attribute [rw] next_token
3837
+ # The token for the next set of items to return. The token expires
3838
+ # after 24 hours.
3839
+ # @return [String]
3840
+ #
3841
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/ListLogGroupsForQueryResponse AWS API Documentation
3842
+ #
3843
+ class ListLogGroupsForQueryResponse < Struct.new(
3844
+ :log_group_identifiers,
3845
+ :next_token)
3846
+ SENSITIVE = []
3847
+ include Aws::Structure
3848
+ end
3849
+
3069
3850
  # @!attribute [rw] resource_arn
3070
3851
  # The ARN of the resource that you want to view tags for.
3071
3852
  #
@@ -3127,6 +3908,62 @@ module Aws::CloudWatchLogs
3127
3908
  include Aws::Structure
3128
3909
  end
3129
3910
 
3911
+ # This processor takes a list of objects that contain key fields, and
3912
+ # converts them into a map of target keys.
3913
+ #
3914
+ # For more information about this processor including examples, see [
3915
+ # listToMap][1] in the *CloudWatch Logs User Guide*.
3916
+ #
3917
+ #
3918
+ #
3919
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-listToMap
3920
+ #
3921
+ # @!attribute [rw] source
3922
+ # The key in the log event that has a list of objects that will be
3923
+ # converted to a map.
3924
+ # @return [String]
3925
+ #
3926
+ # @!attribute [rw] key
3927
+ # The key of the field to be extracted as keys in the generated map
3928
+ # @return [String]
3929
+ #
3930
+ # @!attribute [rw] value_key
3931
+ # If this is specified, the values that you specify in this parameter
3932
+ # will be extracted from the `source` objects and put into the values
3933
+ # of the generated map. Otherwise, original objects in the source list
3934
+ # will be put into the values of the generated map.
3935
+ # @return [String]
3936
+ #
3937
+ # @!attribute [rw] target
3938
+ # The key of the field that will hold the generated map
3939
+ # @return [String]
3940
+ #
3941
+ # @!attribute [rw] flatten
3942
+ # A Boolean value to indicate whether the list will be flattened into
3943
+ # single items. Specify `true` to flatten the list. The default is
3944
+ # `false`
3945
+ # @return [Boolean]
3946
+ #
3947
+ # @!attribute [rw] flattened_element
3948
+ # If you set `flatten` to `true`, use `flattenedElement` to specify
3949
+ # which element, `first` or `last`, to keep.
3950
+ #
3951
+ # You must specify this parameter if `flatten` is `true`
3952
+ # @return [String]
3953
+ #
3954
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/ListToMap AWS API Documentation
3955
+ #
3956
+ class ListToMap < Struct.new(
3957
+ :source,
3958
+ :key,
3959
+ :value_key,
3960
+ :target,
3961
+ :flatten,
3962
+ :flattened_element)
3963
+ SENSITIVE = []
3964
+ include Aws::Structure
3965
+ end
3966
+
3130
3967
  # This object contains the information for one log event returned in a
3131
3968
  # Live Tail stream.
3132
3969
  #
@@ -3510,6 +4347,28 @@ module Aws::CloudWatchLogs
3510
4347
  include Aws::Structure
3511
4348
  end
3512
4349
 
4350
+ # This processor converts a string to lowercase.
4351
+ #
4352
+ # For more information about this processor including examples, see [
4353
+ # lowerCaseString][1] in the *CloudWatch Logs User Guide*.
4354
+ #
4355
+ #
4356
+ #
4357
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-lowerCaseString
4358
+ #
4359
+ # @!attribute [rw] with_keys
4360
+ # The array caontaining the keys of the fields to convert to
4361
+ # lowercase.
4362
+ # @return [Array<String>]
4363
+ #
4364
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/LowerCaseString AWS API Documentation
4365
+ #
4366
+ class LowerCaseString < Struct.new(
4367
+ :with_keys)
4368
+ SENSITIVE = []
4369
+ include Aws::Structure
4370
+ end
4371
+
3513
4372
  # The query string is not valid. Details about this error are displayed
3514
4373
  # in a `QueryCompileError` object. For more information, see
3515
4374
  # [QueryCompileError][1].
@@ -3562,6 +4421,20 @@ module Aws::CloudWatchLogs
3562
4421
  # The name of the log group.
3563
4422
  # @return [String]
3564
4423
  #
4424
+ # @!attribute [rw] apply_on_transformed_logs
4425
+ # This parameter is valid only for log groups that have an active log
4426
+ # transformer. For more information about log transformers, see
4427
+ # [PutTransformer][1].
4428
+ #
4429
+ # If this value is `true`, the metric filter is applied on the
4430
+ # transformed version of the log events instead of the original
4431
+ # ingested log events.
4432
+ #
4433
+ #
4434
+ #
4435
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutTransformer.html
4436
+ # @return [Boolean]
4437
+ #
3565
4438
  # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/MetricFilter AWS API Documentation
3566
4439
  #
3567
4440
  class MetricFilter < Struct.new(
@@ -3569,7 +4442,8 @@ module Aws::CloudWatchLogs
3569
4442
  :filter_pattern,
3570
4443
  :metric_transformations,
3571
4444
  :creation_time,
3572
- :log_group_name)
4445
+ :log_group_name,
4446
+ :apply_on_transformed_logs)
3573
4447
  SENSITIVE = []
3574
4448
  include Aws::Structure
3575
4449
  end
@@ -3668,52 +4542,796 @@ module Aws::CloudWatchLogs
3668
4542
  include Aws::Structure
3669
4543
  end
3670
4544
 
3671
- # Multiple concurrent requests to update the same resource were in
3672
- # conflict.
4545
+ # This object defines one key that will be moved with the [ moveKey][1]
4546
+ # processor.
3673
4547
  #
3674
- # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/OperationAbortedException AWS API Documentation
3675
4548
  #
3676
- class OperationAbortedException < Aws::EmptyStructure; end
3677
-
3678
- # Represents a log event.
3679
4549
  #
3680
- # @!attribute [rw] timestamp
3681
- # The time the event occurred, expressed as the number of milliseconds
3682
- # after `Jan 1, 1970 00:00:00 UTC`.
3683
- # @return [Integer]
4550
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-moveKey
3684
4551
  #
3685
- # @!attribute [rw] message
3686
- # The data contained in the log event.
4552
+ # @!attribute [rw] source
4553
+ # The key to move.
3687
4554
  # @return [String]
3688
4555
  #
3689
- # @!attribute [rw] ingestion_time
3690
- # The time the event was ingested, expressed as the number of
3691
- # milliseconds after `Jan 1, 1970 00:00:00 UTC`.
3692
- # @return [Integer]
4556
+ # @!attribute [rw] target
4557
+ # The key to move to.
4558
+ # @return [String]
3693
4559
  #
3694
- # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/OutputLogEvent AWS API Documentation
4560
+ # @!attribute [rw] overwrite_if_exists
4561
+ # Specifies whether to overwrite the value if the destination key
4562
+ # already exists. If you omit this, the default is `false`.
4563
+ # @return [Boolean]
3695
4564
  #
3696
- class OutputLogEvent < Struct.new(
3697
- :timestamp,
3698
- :message,
3699
- :ingestion_time)
4565
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/MoveKeyEntry AWS API Documentation
4566
+ #
4567
+ class MoveKeyEntry < Struct.new(
4568
+ :source,
4569
+ :target,
4570
+ :overwrite_if_exists)
3700
4571
  SENSITIVE = []
3701
4572
  include Aws::Structure
3702
4573
  end
3703
4574
 
3704
- # A structure that contains information about one pattern token related
3705
- # to an anomaly.
4575
+ # This processor moves a key from one field to another. The original key
4576
+ # is deleted.
3706
4577
  #
3707
- # For more information about patterns and tokens, see
3708
- # [CreateLogAnomalyDetector][1].
4578
+ # For more information about this processor including examples, see [
4579
+ # moveKeys][1] in the *CloudWatch Logs User Guide*.
3709
4580
  #
3710
4581
  #
3711
4582
  #
3712
- # [1]: https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_CreateLogAnomalyDetector.html
4583
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-moveKeys
3713
4584
  #
3714
- # @!attribute [rw] dynamic_token_position
3715
- # For a dynamic token, this indicates where in the pattern that this
3716
- # token appears, related to other dynamic tokens. The dynamic token
4585
+ # @!attribute [rw] entries
4586
+ # An array of objects, where each object contains the information
4587
+ # about one key to move.
4588
+ # @return [Array<Types::MoveKeyEntry>]
4589
+ #
4590
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/MoveKeys AWS API Documentation
4591
+ #
4592
+ class MoveKeys < Struct.new(
4593
+ :entries)
4594
+ SENSITIVE = []
4595
+ include Aws::Structure
4596
+ end
4597
+
4598
+ # This structure contains information about the OpenSearch Service
4599
+ # application used for this integration. An OpenSearch Service
4600
+ # application is the web application created by the integration with
4601
+ # CloudWatch Logs. It hosts the vended logs dashboards.
4602
+ #
4603
+ # @!attribute [rw] application_endpoint
4604
+ # The endpoint of the application.
4605
+ # @return [String]
4606
+ #
4607
+ # @!attribute [rw] application_arn
4608
+ # The Amazon Resource Name (ARN) of the application.
4609
+ # @return [String]
4610
+ #
4611
+ # @!attribute [rw] application_id
4612
+ # The ID of the application.
4613
+ # @return [String]
4614
+ #
4615
+ # @!attribute [rw] status
4616
+ # This structure contains information about the status of this
4617
+ # OpenSearch Service resource.
4618
+ # @return [Types::OpenSearchResourceStatus]
4619
+ #
4620
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/OpenSearchApplication AWS API Documentation
4621
+ #
4622
+ class OpenSearchApplication < Struct.new(
4623
+ :application_endpoint,
4624
+ :application_arn,
4625
+ :application_id,
4626
+ :status)
4627
+ SENSITIVE = []
4628
+ include Aws::Structure
4629
+ end
4630
+
4631
+ # This structure contains information about the OpenSearch Service
4632
+ # collection used for this integration. An OpenSearch Service collection
4633
+ # is a logical grouping of one or more indexes that represent an
4634
+ # analytics workload. For more information, see [Creating and managing
4635
+ # OpenSearch Service Serverless collections][1].
4636
+ #
4637
+ #
4638
+ #
4639
+ # [1]: https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-collections.html
4640
+ #
4641
+ # @!attribute [rw] collection_endpoint
4642
+ # The endpoint of the collection.
4643
+ # @return [String]
4644
+ #
4645
+ # @!attribute [rw] collection_arn
4646
+ # The ARN of the collection.
4647
+ # @return [String]
4648
+ #
4649
+ # @!attribute [rw] status
4650
+ # This structure contains information about the status of this
4651
+ # OpenSearch Service resource.
4652
+ # @return [Types::OpenSearchResourceStatus]
4653
+ #
4654
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/OpenSearchCollection AWS API Documentation
4655
+ #
4656
+ class OpenSearchCollection < Struct.new(
4657
+ :collection_endpoint,
4658
+ :collection_arn,
4659
+ :status)
4660
+ SENSITIVE = []
4661
+ include Aws::Structure
4662
+ end
4663
+
4664
+ # This structure contains information about the OpenSearch Service data
4665
+ # access policy used for this integration. The access policy defines the
4666
+ # access controls for the collection. This data access policy was
4667
+ # automatically created as part of the integration setup. For more
4668
+ # information about OpenSearch Service data access policies, see [Data
4669
+ # access control for Amazon OpenSearch Serverless][1] in the OpenSearch
4670
+ # Service Developer Guide.
4671
+ #
4672
+ #
4673
+ #
4674
+ # [1]: https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-data-access.html
4675
+ #
4676
+ # @!attribute [rw] policy_name
4677
+ # The name of the data access policy.
4678
+ # @return [String]
4679
+ #
4680
+ # @!attribute [rw] status
4681
+ # This structure contains information about the status of this
4682
+ # OpenSearch Service resource.
4683
+ # @return [Types::OpenSearchResourceStatus]
4684
+ #
4685
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/OpenSearchDataAccessPolicy AWS API Documentation
4686
+ #
4687
+ class OpenSearchDataAccessPolicy < Struct.new(
4688
+ :policy_name,
4689
+ :status)
4690
+ SENSITIVE = []
4691
+ include Aws::Structure
4692
+ end
4693
+
4694
+ # This structure contains information about the OpenSearch Service data
4695
+ # source used for this integration. This data source was created as part
4696
+ # of the integration setup. An OpenSearch Service data source defines
4697
+ # the source and destination for OpenSearch Service queries. It includes
4698
+ # the role required to execute queries and write to collections.
4699
+ #
4700
+ # For more information about OpenSearch Service data sources , see
4701
+ # [Creating OpenSearch Service data source integrations with Amazon
4702
+ # S3.][1]
4703
+ #
4704
+ #
4705
+ #
4706
+ # [1]: https://docs.aws.amazon.com/opensearch-service/latest/developerguide/direct-query-s3-creating.html
4707
+ #
4708
+ # @!attribute [rw] data_source_name
4709
+ # The name of the OpenSearch Service data source.
4710
+ # @return [String]
4711
+ #
4712
+ # @!attribute [rw] status
4713
+ # This structure contains information about the status of this
4714
+ # OpenSearch Service resource.
4715
+ # @return [Types::OpenSearchResourceStatus]
4716
+ #
4717
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/OpenSearchDataSource AWS API Documentation
4718
+ #
4719
+ class OpenSearchDataSource < Struct.new(
4720
+ :data_source_name,
4721
+ :status)
4722
+ SENSITIVE = []
4723
+ include Aws::Structure
4724
+ end
4725
+
4726
+ # This structure contains information about the OpenSearch Service
4727
+ # encryption policy used for this integration. The encryption policy was
4728
+ # created automatically when you created the integration. For more
4729
+ # information, see [Encryption policies][1] in the OpenSearch Service
4730
+ # Developer Guide.
4731
+ #
4732
+ #
4733
+ #
4734
+ # [1]: https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-encryption.html#serverless-encryption-policies
4735
+ #
4736
+ # @!attribute [rw] policy_name
4737
+ # The name of the encryption policy.
4738
+ # @return [String]
4739
+ #
4740
+ # @!attribute [rw] status
4741
+ # This structure contains information about the status of this
4742
+ # OpenSearch Service resource.
4743
+ # @return [Types::OpenSearchResourceStatus]
4744
+ #
4745
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/OpenSearchEncryptionPolicy AWS API Documentation
4746
+ #
4747
+ class OpenSearchEncryptionPolicy < Struct.new(
4748
+ :policy_name,
4749
+ :status)
4750
+ SENSITIVE = []
4751
+ include Aws::Structure
4752
+ end
4753
+
4754
+ # This structure contains complete information about one CloudWatch Logs
4755
+ # integration. This structure is returned by a [GetIntegration][1]
4756
+ # operation.
4757
+ #
4758
+ #
4759
+ #
4760
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_GetIntegration.html
4761
+ #
4762
+ # @!attribute [rw] data_source
4763
+ # This structure contains information about the OpenSearch Service
4764
+ # data source used for this integration. This data source was created
4765
+ # as part of the integration setup. An OpenSearch Service data source
4766
+ # defines the source and destination for OpenSearch Service queries.
4767
+ # It includes the role required to execute queries and write to
4768
+ # collections.
4769
+ #
4770
+ # For more information about OpenSearch Service data sources , see
4771
+ # [Creating OpenSearch Service data source integrations with Amazon
4772
+ # S3.][1]
4773
+ #
4774
+ #
4775
+ #
4776
+ # [1]: https://docs.aws.amazon.com/opensearch-service/latest/developerguide/direct-query-s3-creating.html
4777
+ # @return [Types::OpenSearchDataSource]
4778
+ #
4779
+ # @!attribute [rw] application
4780
+ # This structure contains information about the OpenSearch Service
4781
+ # application used for this integration. An OpenSearch Service
4782
+ # application is the web application that was created by the
4783
+ # integration with CloudWatch Logs. It hosts the vended logs
4784
+ # dashboards.
4785
+ # @return [Types::OpenSearchApplication]
4786
+ #
4787
+ # @!attribute [rw] collection
4788
+ # This structure contains information about the OpenSearch Service
4789
+ # collection used for this integration. This collection was created as
4790
+ # part of the integration setup. An OpenSearch Service collection is a
4791
+ # logical grouping of one or more indexes that represent an analytics
4792
+ # workload. For more information, see [Creating and managing
4793
+ # OpenSearch Service Serverless collections][1].
4794
+ #
4795
+ #
4796
+ #
4797
+ # [1]: https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-collections.html
4798
+ # @return [Types::OpenSearchCollection]
4799
+ #
4800
+ # @!attribute [rw] workspace
4801
+ # This structure contains information about the OpenSearch Service
4802
+ # workspace used for this integration. An OpenSearch Service workspace
4803
+ # is the collection of dashboards along with other OpenSearch Service
4804
+ # tools. This workspace was created automatically as part of the
4805
+ # integration setup. For more information, see [Centralized OpenSearch
4806
+ # user interface (Dashboards) with OpenSearch Service][1].
4807
+ #
4808
+ #
4809
+ #
4810
+ # [1]: https://docs.aws.amazon.com/opensearch-service/latest/developerguide/application.html
4811
+ # @return [Types::OpenSearchWorkspace]
4812
+ #
4813
+ # @!attribute [rw] encryption_policy
4814
+ # This structure contains information about the OpenSearch Service
4815
+ # encryption policy used for this integration. The encryption policy
4816
+ # was created automatically when you created the integration. For more
4817
+ # information, see [Encryption policies][1] in the OpenSearch Service
4818
+ # Developer Guide.
4819
+ #
4820
+ #
4821
+ #
4822
+ # [1]: https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-encryption.html#serverless-encryption-policies
4823
+ # @return [Types::OpenSearchEncryptionPolicy]
4824
+ #
4825
+ # @!attribute [rw] network_policy
4826
+ # This structure contains information about the OpenSearch Service
4827
+ # network policy used for this integration. The network policy assigns
4828
+ # network access settings to collections. For more information, see
4829
+ # [Network policies][1] in the OpenSearch Service Developer Guide.
4830
+ #
4831
+ #
4832
+ #
4833
+ # [1]: https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-network.html#serverless-network-policies
4834
+ # @return [Types::OpenSearchNetworkPolicy]
4835
+ #
4836
+ # @!attribute [rw] access_policy
4837
+ # This structure contains information about the OpenSearch Service
4838
+ # data access policy used for this integration. The access policy
4839
+ # defines the access controls for the collection. This data access
4840
+ # policy was automatically created as part of the integration setup.
4841
+ # For more information about OpenSearch Service data access policies,
4842
+ # see [Data access control for Amazon OpenSearch Serverless][1] in the
4843
+ # OpenSearch Service Developer Guide.
4844
+ #
4845
+ #
4846
+ #
4847
+ # [1]: https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-data-access.html
4848
+ # @return [Types::OpenSearchDataAccessPolicy]
4849
+ #
4850
+ # @!attribute [rw] lifecycle_policy
4851
+ # This structure contains information about the OpenSearch Service
4852
+ # data lifecycle policy used for this integration. The lifecycle
4853
+ # policy determines the lifespan of the data in the collection. It was
4854
+ # automatically created as part of the integration setup.
4855
+ #
4856
+ # For more information, see [Using data lifecycle policies with
4857
+ # OpenSearch Service Serverless][1] in the OpenSearch Service
4858
+ # Developer Guide.
4859
+ #
4860
+ #
4861
+ #
4862
+ # [1]: https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-lifecycle.html
4863
+ # @return [Types::OpenSearchLifecyclePolicy]
4864
+ #
4865
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/OpenSearchIntegrationDetails AWS API Documentation
4866
+ #
4867
+ class OpenSearchIntegrationDetails < Struct.new(
4868
+ :data_source,
4869
+ :application,
4870
+ :collection,
4871
+ :workspace,
4872
+ :encryption_policy,
4873
+ :network_policy,
4874
+ :access_policy,
4875
+ :lifecycle_policy)
4876
+ SENSITIVE = []
4877
+ include Aws::Structure
4878
+ end
4879
+
4880
+ # This structure contains information about the OpenSearch Service data
4881
+ # lifecycle policy used for this integration. The lifecycle policy
4882
+ # determines the lifespan of the data in the collection. It was
4883
+ # automatically created as part of the integration setup.
4884
+ #
4885
+ # For more information, see [Using data lifecycle policies with
4886
+ # OpenSearch Service Serverless][1] in the OpenSearch Service Developer
4887
+ # Guide.
4888
+ #
4889
+ #
4890
+ #
4891
+ # [1]: https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-lifecycle.html
4892
+ #
4893
+ # @!attribute [rw] policy_name
4894
+ # The name of the lifecycle policy.
4895
+ # @return [String]
4896
+ #
4897
+ # @!attribute [rw] status
4898
+ # This structure contains information about the status of this
4899
+ # OpenSearch Service resource.
4900
+ # @return [Types::OpenSearchResourceStatus]
4901
+ #
4902
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/OpenSearchLifecyclePolicy AWS API Documentation
4903
+ #
4904
+ class OpenSearchLifecyclePolicy < Struct.new(
4905
+ :policy_name,
4906
+ :status)
4907
+ SENSITIVE = []
4908
+ include Aws::Structure
4909
+ end
4910
+
4911
+ # This structure contains information about the OpenSearch Service
4912
+ # network policy used for this integration. The network policy assigns
4913
+ # network access settings to collections. For more information, see
4914
+ # [Network policies][1] in the OpenSearch Service Developer Guide.
4915
+ #
4916
+ #
4917
+ #
4918
+ # [1]: https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-network.html#serverless-network-policies
4919
+ #
4920
+ # @!attribute [rw] policy_name
4921
+ # The name of the network policy.
4922
+ # @return [String]
4923
+ #
4924
+ # @!attribute [rw] status
4925
+ # This structure contains information about the status of this
4926
+ # OpenSearch Service resource.
4927
+ # @return [Types::OpenSearchResourceStatus]
4928
+ #
4929
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/OpenSearchNetworkPolicy AWS API Documentation
4930
+ #
4931
+ class OpenSearchNetworkPolicy < Struct.new(
4932
+ :policy_name,
4933
+ :status)
4934
+ SENSITIVE = []
4935
+ include Aws::Structure
4936
+ end
4937
+
4938
+ # This structure contains configuration details about an integration
4939
+ # between CloudWatch Logs and OpenSearch Service.
4940
+ #
4941
+ # @!attribute [rw] kms_key_arn
4942
+ # To have the vended dashboard data encrypted with KMS instead of the
4943
+ # CloudWatch Logs default encryption method, specify the ARN of the
4944
+ # KMS key that you want to use.
4945
+ # @return [String]
4946
+ #
4947
+ # @!attribute [rw] data_source_role_arn
4948
+ # Specify the ARN of an IAM role that CloudWatch Logs will use to
4949
+ # create the integration. This role must have the permissions
4950
+ # necessary to access the OpenSearch Service collection to be able to
4951
+ # create the dashboards. For more information about the permissions
4952
+ # needed, see [Create an IAM role to access the OpenSearch Service
4953
+ # collection][1] in the CloudWatch Logs User Guide.
4954
+ #
4955
+ #
4956
+ #
4957
+ # [1]: https://docs.aws.amazon.com/OpenSearch-Dashboards-CreateRole
4958
+ # @return [String]
4959
+ #
4960
+ # @!attribute [rw] dashboard_viewer_principals
4961
+ # Specify the ARNs of IAM roles and IAM users who you want to grant
4962
+ # permission to for viewing the dashboards.
4963
+ #
4964
+ # In addition to specifying these users here, you must also grant them
4965
+ # the **CloudWatchOpenSearchDashboardsAccess** IAM policy. For more
4966
+ # information, see
4967
+ # @return [Array<String>]
4968
+ #
4969
+ # @!attribute [rw] application_arn
4970
+ # If you want to use an existing OpenSearch Service application for
4971
+ # your integration with OpenSearch Service, specify it here. If you
4972
+ # omit this, a new application will be created.
4973
+ # @return [String]
4974
+ #
4975
+ # @!attribute [rw] retention_days
4976
+ # Specify how many days that you want the data derived by OpenSearch
4977
+ # Service to be retained in the index that the dashboard refers to.
4978
+ # This also sets the maximum time period that you can choose when
4979
+ # viewing data in the dashboard. Choosing a longer time frame will
4980
+ # incur additional costs.
4981
+ # @return [Integer]
4982
+ #
4983
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/OpenSearchResourceConfig AWS API Documentation
4984
+ #
4985
+ class OpenSearchResourceConfig < Struct.new(
4986
+ :kms_key_arn,
4987
+ :data_source_role_arn,
4988
+ :dashboard_viewer_principals,
4989
+ :application_arn,
4990
+ :retention_days)
4991
+ SENSITIVE = []
4992
+ include Aws::Structure
4993
+ end
4994
+
4995
+ # This structure contains information about the status of an OpenSearch
4996
+ # Service resource.
4997
+ #
4998
+ # @!attribute [rw] status
4999
+ # The current status of this resource.
5000
+ # @return [String]
5001
+ #
5002
+ # @!attribute [rw] status_message
5003
+ # A message with additional information about the status of this
5004
+ # resource.
5005
+ # @return [String]
5006
+ #
5007
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/OpenSearchResourceStatus AWS API Documentation
5008
+ #
5009
+ class OpenSearchResourceStatus < Struct.new(
5010
+ :status,
5011
+ :status_message)
5012
+ SENSITIVE = []
5013
+ include Aws::Structure
5014
+ end
5015
+
5016
+ # This structure contains information about the OpenSearch Service
5017
+ # workspace used for this integration. An OpenSearch Service workspace
5018
+ # is the collection of dashboards along with other OpenSearch Service
5019
+ # tools. This workspace was created automatically as part of the
5020
+ # integration setup. For more information, see [Centralized OpenSearch
5021
+ # user interface (Dashboards) with OpenSearch Service][1].
5022
+ #
5023
+ #
5024
+ #
5025
+ # [1]: https://docs.aws.amazon.com/opensearch-service/latest/developerguide/application.html
5026
+ #
5027
+ # @!attribute [rw] workspace_id
5028
+ # The ID of this workspace.
5029
+ # @return [String]
5030
+ #
5031
+ # @!attribute [rw] status
5032
+ # This structure contains information about the status of an
5033
+ # OpenSearch Service resource.
5034
+ # @return [Types::OpenSearchResourceStatus]
5035
+ #
5036
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/OpenSearchWorkspace AWS API Documentation
5037
+ #
5038
+ class OpenSearchWorkspace < Struct.new(
5039
+ :workspace_id,
5040
+ :status)
5041
+ SENSITIVE = []
5042
+ include Aws::Structure
5043
+ end
5044
+
5045
+ # Multiple concurrent requests to update the same resource were in
5046
+ # conflict.
5047
+ #
5048
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/OperationAbortedException AWS API Documentation
5049
+ #
5050
+ class OperationAbortedException < Aws::EmptyStructure; end
5051
+
5052
+ # Represents a log event.
5053
+ #
5054
+ # @!attribute [rw] timestamp
5055
+ # The time the event occurred, expressed as the number of milliseconds
5056
+ # after `Jan 1, 1970 00:00:00 UTC`.
5057
+ # @return [Integer]
5058
+ #
5059
+ # @!attribute [rw] message
5060
+ # The data contained in the log event.
5061
+ # @return [String]
5062
+ #
5063
+ # @!attribute [rw] ingestion_time
5064
+ # The time the event was ingested, expressed as the number of
5065
+ # milliseconds after `Jan 1, 1970 00:00:00 UTC`.
5066
+ # @return [Integer]
5067
+ #
5068
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/OutputLogEvent AWS API Documentation
5069
+ #
5070
+ class OutputLogEvent < Struct.new(
5071
+ :timestamp,
5072
+ :message,
5073
+ :ingestion_time)
5074
+ SENSITIVE = []
5075
+ include Aws::Structure
5076
+ end
5077
+
5078
+ # This processor parses CloudFront vended logs, extract fields, and
5079
+ # convert them into JSON format. Encoded field values are decoded.
5080
+ # Values that are integers and doubles are treated as such. For more
5081
+ # information about this processor including examples, see [
5082
+ # parseCloudfront][1]
5083
+ #
5084
+ # For more information about CloudFront log format, see [ Configure and
5085
+ # use standard logs (access logs)][2].
5086
+ #
5087
+ # If you use this processor, it must be the first processor in your
5088
+ # transformer.
5089
+ #
5090
+ #
5091
+ #
5092
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-parseCloudfront
5093
+ # [2]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/AccessLogs.html
5094
+ #
5095
+ # @!attribute [rw] source
5096
+ # Omit this parameter and the whole log message will be processed by
5097
+ # this processor. No other value than `@message` is allowed for
5098
+ # `source`.
5099
+ # @return [String]
5100
+ #
5101
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/ParseCloudfront AWS API Documentation
5102
+ #
5103
+ class ParseCloudfront < Struct.new(
5104
+ :source)
5105
+ SENSITIVE = []
5106
+ include Aws::Structure
5107
+ end
5108
+
5109
+ # This processor parses log events that are in JSON format. It can
5110
+ # extract JSON key-value pairs and place them under a destination that
5111
+ # you specify.
5112
+ #
5113
+ # Additionally, because you must have at least one parse-type processor
5114
+ # in a transformer, you can use `ParseJSON` as that processor for
5115
+ # JSON-format logs, so that you can also apply other processors, such as
5116
+ # mutate processors, to these logs.
5117
+ #
5118
+ # For more information about this processor including examples, see [
5119
+ # parseJSON][1] in the *CloudWatch Logs User Guide*.
5120
+ #
5121
+ #
5122
+ #
5123
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-parseJSON
5124
+ #
5125
+ # @!attribute [rw] source
5126
+ # Path to the field in the log event that will be parsed. Use dot
5127
+ # notation to access child fields. For example, `store.book`
5128
+ # @return [String]
5129
+ #
5130
+ # @!attribute [rw] destination
5131
+ # The location to put the parsed key value pair into. If you omit this
5132
+ # parameter, it is placed under the root node.
5133
+ # @return [String]
5134
+ #
5135
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/ParseJSON AWS API Documentation
5136
+ #
5137
+ class ParseJSON < Struct.new(
5138
+ :source,
5139
+ :destination)
5140
+ SENSITIVE = []
5141
+ include Aws::Structure
5142
+ end
5143
+
5144
+ # This processor parses a specified field in the original log event into
5145
+ # key-value pairs.
5146
+ #
5147
+ # For more information about this processor including examples, see [
5148
+ # parseKeyValue][1] in the *CloudWatch Logs User Guide*.
5149
+ #
5150
+ #
5151
+ #
5152
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-parseKeyValue
5153
+ #
5154
+ # @!attribute [rw] source
5155
+ # Path to the field in the log event that will be parsed. Use dot
5156
+ # notation to access child fields. For example, `store.book`
5157
+ # @return [String]
5158
+ #
5159
+ # @!attribute [rw] destination
5160
+ # The destination field to put the extracted key-value pairs into
5161
+ # @return [String]
5162
+ #
5163
+ # @!attribute [rw] field_delimiter
5164
+ # The field delimiter string that is used between key-value pairs in
5165
+ # the original log events. If you omit this, the ampersand `&`
5166
+ # character is used.
5167
+ # @return [String]
5168
+ #
5169
+ # @!attribute [rw] key_value_delimiter
5170
+ # The delimiter string to use between the key and value in each pair
5171
+ # in the transformed log event.
5172
+ #
5173
+ # If you omit this, the equal `=` character is used.
5174
+ # @return [String]
5175
+ #
5176
+ # @!attribute [rw] key_prefix
5177
+ # If you want to add a prefix to all transformed keys, specify it
5178
+ # here.
5179
+ # @return [String]
5180
+ #
5181
+ # @!attribute [rw] non_match_value
5182
+ # A value to insert into the value field in the result, when a
5183
+ # key-value pair is not successfully split.
5184
+ # @return [String]
5185
+ #
5186
+ # @!attribute [rw] overwrite_if_exists
5187
+ # Specifies whether to overwrite the value if the destination key
5188
+ # already exists. If you omit this, the default is `false`.
5189
+ # @return [Boolean]
5190
+ #
5191
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/ParseKeyValue AWS API Documentation
5192
+ #
5193
+ class ParseKeyValue < Struct.new(
5194
+ :source,
5195
+ :destination,
5196
+ :field_delimiter,
5197
+ :key_value_delimiter,
5198
+ :key_prefix,
5199
+ :non_match_value,
5200
+ :overwrite_if_exists)
5201
+ SENSITIVE = []
5202
+ include Aws::Structure
5203
+ end
5204
+
5205
+ # Use this processor to parse RDS for PostgreSQL vended logs, extract
5206
+ # fields, and and convert them into a JSON format. This processor always
5207
+ # processes the entire log event message. For more information about
5208
+ # this processor including examples, see [ parsePostGres][1].
5209
+ #
5210
+ # For more information about RDS for PostgreSQL log format, see [ RDS
5211
+ # for PostgreSQL database log filesTCP flag sequence][2].
5212
+ #
5213
+ # If you use this processor, it must be the first processor in your
5214
+ # transformer.
5215
+ #
5216
+ #
5217
+ #
5218
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-parsePostGres
5219
+ # [2]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.Concepts.PostgreSQL.html#USER_LogAccess.Concepts.PostgreSQL.Log_Format.log-line-prefix
5220
+ #
5221
+ # @!attribute [rw] source
5222
+ # Omit this parameter and the whole log message will be processed by
5223
+ # this processor. No other value than `@message` is allowed for
5224
+ # `source`.
5225
+ # @return [String]
5226
+ #
5227
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/ParsePostgres AWS API Documentation
5228
+ #
5229
+ class ParsePostgres < Struct.new(
5230
+ :source)
5231
+ SENSITIVE = []
5232
+ include Aws::Structure
5233
+ end
5234
+
5235
+ # Use this processor to parse Route 53 vended logs, extract fields, and
5236
+ # and convert them into a JSON format. This processor always processes
5237
+ # the entire log event message. For more information about this
5238
+ # processor including examples, see [ parseRoute53][1].
5239
+ #
5240
+ # If you use this processor, it must be the first processor in your
5241
+ # transformer.
5242
+ #
5243
+ #
5244
+ #
5245
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-parseRoute53
5246
+ #
5247
+ # @!attribute [rw] source
5248
+ # Omit this parameter and the whole log message will be processed by
5249
+ # this processor. No other value than `@message` is allowed for
5250
+ # `source`.
5251
+ # @return [String]
5252
+ #
5253
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/ParseRoute53 AWS API Documentation
5254
+ #
5255
+ class ParseRoute53 < Struct.new(
5256
+ :source)
5257
+ SENSITIVE = []
5258
+ include Aws::Structure
5259
+ end
5260
+
5261
+ # Use this processor to parse Amazon VPC vended logs, extract fields,
5262
+ # and and convert them into a JSON format. This processor always
5263
+ # processes the entire log event message.
5264
+ #
5265
+ # This processor doesn't support custom log formats, such as NAT
5266
+ # gateway logs. For more information about custom log formats in Amazon
5267
+ # VPC, see [ parseVPC][1] For more information about this processor
5268
+ # including examples, see [ parseVPC][2].
5269
+ #
5270
+ # If you use this processor, it must be the first processor in your
5271
+ # transformer.
5272
+ #
5273
+ #
5274
+ #
5275
+ # [1]: https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs-records-examples.html#flow-log-example-tcp-flag
5276
+ # [2]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-parseVPC
5277
+ #
5278
+ # @!attribute [rw] source
5279
+ # Omit this parameter and the whole log message will be processed by
5280
+ # this processor. No other value than `@message` is allowed for
5281
+ # `source`.
5282
+ # @return [String]
5283
+ #
5284
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/ParseVPC AWS API Documentation
5285
+ #
5286
+ class ParseVPC < Struct.new(
5287
+ :source)
5288
+ SENSITIVE = []
5289
+ include Aws::Structure
5290
+ end
5291
+
5292
+ # Use this processor to parse WAF vended logs, extract fields, and and
5293
+ # convert them into a JSON format. This processor always processes the
5294
+ # entire log event message. For more information about this processor
5295
+ # including examples, see [ parseWAF][1].
5296
+ #
5297
+ # For more information about WAF log format, see [ Log examples for web
5298
+ # ACL traffic][2].
5299
+ #
5300
+ # If you use this processor, it must be the first processor in your
5301
+ # transformer.
5302
+ #
5303
+ #
5304
+ #
5305
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-parsePostGres
5306
+ # [2]: https://docs.aws.amazon.com/waf/latest/developerguide/logging-examples.html
5307
+ #
5308
+ # @!attribute [rw] source
5309
+ # Omit this parameter and the whole log message will be processed by
5310
+ # this processor. No other value than `@message` is allowed for
5311
+ # `source`.
5312
+ # @return [String]
5313
+ #
5314
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/ParseWAF AWS API Documentation
5315
+ #
5316
+ class ParseWAF < Struct.new(
5317
+ :source)
5318
+ SENSITIVE = []
5319
+ include Aws::Structure
5320
+ end
5321
+
5322
+ # A structure that contains information about one pattern token related
5323
+ # to an anomaly.
5324
+ #
5325
+ # For more information about patterns and tokens, see
5326
+ # [CreateLogAnomalyDetector][1].
5327
+ #
5328
+ #
5329
+ #
5330
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_CreateLogAnomalyDetector.html
5331
+ #
5332
+ # @!attribute [rw] dynamic_token_position
5333
+ # For a dynamic token, this indicates where in the pattern that this
5334
+ # token appears, related to other dynamic tokens. The dynamic token
3717
5335
  # that appears first has a value of `1`, the one that appears second
3718
5336
  # is `2`, and so on.
3719
5337
  # @return [Integer]
@@ -3773,6 +5391,251 @@ module Aws::CloudWatchLogs
3773
5391
  include Aws::Structure
3774
5392
  end
3775
5393
 
5394
+ # This structure contains the information about one processor in a log
5395
+ # transformer.
5396
+ #
5397
+ # @!attribute [rw] add_keys
5398
+ # Use this parameter to include the [ addKeys][1] processor in your
5399
+ # transformer.
5400
+ #
5401
+ #
5402
+ #
5403
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-addKeys
5404
+ # @return [Types::AddKeys]
5405
+ #
5406
+ # @!attribute [rw] copy_value
5407
+ # Use this parameter to include the [ copyValue][1] processor in your
5408
+ # transformer.
5409
+ #
5410
+ #
5411
+ #
5412
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-copyValue
5413
+ # @return [Types::CopyValue]
5414
+ #
5415
+ # @!attribute [rw] csv
5416
+ # Use this parameter to include the [ CSV][1] processor in your
5417
+ # transformer.
5418
+ #
5419
+ #
5420
+ #
5421
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-CSV
5422
+ # @return [Types::CSV]
5423
+ #
5424
+ # @!attribute [rw] date_time_converter
5425
+ # Use this parameter to include the [ datetimeConverter][1] processor
5426
+ # in your transformer.
5427
+ #
5428
+ #
5429
+ #
5430
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-datetimeConverter
5431
+ # @return [Types::DateTimeConverter]
5432
+ #
5433
+ # @!attribute [rw] delete_keys
5434
+ # Use this parameter to include the [ deleteKeys][1] processor in your
5435
+ # transformer.
5436
+ #
5437
+ #
5438
+ #
5439
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-deleteKeys
5440
+ # @return [Types::DeleteKeys]
5441
+ #
5442
+ # @!attribute [rw] grok
5443
+ # Use this parameter to include the [ grok][1] processor in your
5444
+ # transformer.
5445
+ #
5446
+ #
5447
+ #
5448
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-grok
5449
+ # @return [Types::Grok]
5450
+ #
5451
+ # @!attribute [rw] list_to_map
5452
+ # Use this parameter to include the [ listToMap][1] processor in your
5453
+ # transformer.
5454
+ #
5455
+ #
5456
+ #
5457
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-listToMap
5458
+ # @return [Types::ListToMap]
5459
+ #
5460
+ # @!attribute [rw] lower_case_string
5461
+ # Use this parameter to include the [ lowerCaseString][1] processor in
5462
+ # your transformer.
5463
+ #
5464
+ #
5465
+ #
5466
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-lowerCaseString
5467
+ # @return [Types::LowerCaseString]
5468
+ #
5469
+ # @!attribute [rw] move_keys
5470
+ # Use this parameter to include the [ moveKeys][1] processor in your
5471
+ # transformer.
5472
+ #
5473
+ #
5474
+ #
5475
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-moveKeys
5476
+ # @return [Types::MoveKeys]
5477
+ #
5478
+ # @!attribute [rw] parse_cloudfront
5479
+ # Use this parameter to include the [ parseCloudfront][1] processor in
5480
+ # your transformer.
5481
+ #
5482
+ # If you use this processor, it must be the first processor in your
5483
+ # transformer.
5484
+ #
5485
+ #
5486
+ #
5487
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-parseCloudfront
5488
+ # @return [Types::ParseCloudfront]
5489
+ #
5490
+ # @!attribute [rw] parse_json
5491
+ # Use this parameter to include the [ parseJSON][1] processor in your
5492
+ # transformer.
5493
+ #
5494
+ #
5495
+ #
5496
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-parseJSON
5497
+ # @return [Types::ParseJSON]
5498
+ #
5499
+ # @!attribute [rw] parse_key_value
5500
+ # Use this parameter to include the [ parseKeyValue][1] processor in
5501
+ # your transformer.
5502
+ #
5503
+ #
5504
+ #
5505
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-parseKeyValue
5506
+ # @return [Types::ParseKeyValue]
5507
+ #
5508
+ # @!attribute [rw] parse_route_53
5509
+ # Use this parameter to include the [ parseRoute53][1] processor in
5510
+ # your transformer.
5511
+ #
5512
+ # If you use this processor, it must be the first processor in your
5513
+ # transformer.
5514
+ #
5515
+ #
5516
+ #
5517
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-parseRoute53
5518
+ # @return [Types::ParseRoute53]
5519
+ #
5520
+ # @!attribute [rw] parse_postgres
5521
+ # Use this parameter to include the [ parsePostGres][1] processor in
5522
+ # your transformer.
5523
+ #
5524
+ # If you use this processor, it must be the first processor in your
5525
+ # transformer.
5526
+ #
5527
+ #
5528
+ #
5529
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-parsePostGres
5530
+ # @return [Types::ParsePostgres]
5531
+ #
5532
+ # @!attribute [rw] parse_vpc
5533
+ # Use this parameter to include the [ parseVPC][1] processor in your
5534
+ # transformer.
5535
+ #
5536
+ # If you use this processor, it must be the first processor in your
5537
+ # transformer.
5538
+ #
5539
+ #
5540
+ #
5541
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-parseVPC
5542
+ # @return [Types::ParseVPC]
5543
+ #
5544
+ # @!attribute [rw] parse_waf
5545
+ # Use this parameter to include the [ parseWAF][1] processor in your
5546
+ # transformer.
5547
+ #
5548
+ # If you use this processor, it must be the first processor in your
5549
+ # transformer.
5550
+ #
5551
+ #
5552
+ #
5553
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-parseWAF
5554
+ # @return [Types::ParseWAF]
5555
+ #
5556
+ # @!attribute [rw] rename_keys
5557
+ # Use this parameter to include the [ renameKeys][1] processor in your
5558
+ # transformer.
5559
+ #
5560
+ #
5561
+ #
5562
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-renameKeys
5563
+ # @return [Types::RenameKeys]
5564
+ #
5565
+ # @!attribute [rw] split_string
5566
+ # Use this parameter to include the [ splitString][1] processor in
5567
+ # your transformer.
5568
+ #
5569
+ #
5570
+ #
5571
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-splitString
5572
+ # @return [Types::SplitString]
5573
+ #
5574
+ # @!attribute [rw] substitute_string
5575
+ # Use this parameter to include the [ substituteString][1] processor
5576
+ # in your transformer.
5577
+ #
5578
+ #
5579
+ #
5580
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-substituteString
5581
+ # @return [Types::SubstituteString]
5582
+ #
5583
+ # @!attribute [rw] trim_string
5584
+ # Use this parameter to include the [ trimString][1] processor in your
5585
+ # transformer.
5586
+ #
5587
+ #
5588
+ #
5589
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-trimString
5590
+ # @return [Types::TrimString]
5591
+ #
5592
+ # @!attribute [rw] type_converter
5593
+ # Use this parameter to include the [ typeConverter][1] processor in
5594
+ # your transformer.
5595
+ #
5596
+ #
5597
+ #
5598
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-typeConverter
5599
+ # @return [Types::TypeConverter]
5600
+ #
5601
+ # @!attribute [rw] upper_case_string
5602
+ # Use this parameter to include the [ upperCaseString][1] processor in
5603
+ # your transformer.
5604
+ #
5605
+ #
5606
+ #
5607
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-upperCaseString
5608
+ # @return [Types::UpperCaseString]
5609
+ #
5610
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/Processor AWS API Documentation
5611
+ #
5612
+ class Processor < Struct.new(
5613
+ :add_keys,
5614
+ :copy_value,
5615
+ :csv,
5616
+ :date_time_converter,
5617
+ :delete_keys,
5618
+ :grok,
5619
+ :list_to_map,
5620
+ :lower_case_string,
5621
+ :move_keys,
5622
+ :parse_cloudfront,
5623
+ :parse_json,
5624
+ :parse_key_value,
5625
+ :parse_route_53,
5626
+ :parse_postgres,
5627
+ :parse_vpc,
5628
+ :parse_waf,
5629
+ :rename_keys,
5630
+ :split_string,
5631
+ :substitute_string,
5632
+ :trim_string,
5633
+ :type_converter,
5634
+ :upper_case_string)
5635
+ SENSITIVE = []
5636
+ include Aws::Structure
5637
+ end
5638
+
3776
5639
  # @!attribute [rw] policy_name
3777
5640
  # A name for the policy. This must be unique within the account.
3778
5641
  # @return [String]
@@ -3854,10 +5717,34 @@ module Aws::CloudWatchLogs
3854
5717
  # This property is only applicable when the destination is an
3855
5718
  # Kinesis Data Streams data stream.
3856
5719
  #
5720
+ # **Transformer policy**
5721
+ #
5722
+ # A transformer policy must include one JSON block with the array of
5723
+ # processors and their configurations. For more information about
5724
+ # available processors, see [ Processors that you can use][3].
5725
+ #
5726
+ # **Field index policy**
5727
+ #
5728
+ # A field index filter policy can include the following attribute in a
5729
+ # JSON block:
5730
+ #
5731
+ # * **Fields** The array of field indexes to create.
5732
+ #
5733
+ # ^
5734
+ #
5735
+ # It must contain at least one field index.
5736
+ #
5737
+ # The following is an example of an index policy document that creates
5738
+ # two indexes, `RequestId` and `TransactionId`.
5739
+ #
5740
+ # `"policyDocument": "{ "Fields": [ "RequestId", "TransactionId"
5741
+ # ] }"`
5742
+ #
3857
5743
  #
3858
5744
  #
3859
5745
  # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/mask-sensitive-log-data-types.html
3860
5746
  # [2]: https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutDestination.html
5747
+ # [3]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-Processors
3861
5748
  # @return [String]
3862
5749
  #
3863
5750
  # @!attribute [rw] policy_type
@@ -3872,18 +5759,25 @@ module Aws::CloudWatchLogs
3872
5759
  # @return [String]
3873
5760
  #
3874
5761
  # @!attribute [rw] selection_criteria
3875
- # Use this parameter to apply the subscription filter policy to a
3876
- # subset of log groups in the account. Currently, the only supported
3877
- # filter is `LogGroupName NOT IN []`. The `selectionCriteria` string
3878
- # can be up to 25KB in length. The length is determined by using its
3879
- # UTF-8 bytes.
5762
+ # Use this parameter to apply the new policy to a subset of log groups
5763
+ # in the account.
5764
+ #
5765
+ # Specifing `selectionCriteria` is valid only when you specify
5766
+ # `SUBSCRIPTION_FILTER_POLICY`, `FIELD_INDEX_POLICY` or
5767
+ # `TRANSFORMER_POLICY`for `policyType`.
5768
+ #
5769
+ # If `policyType` is `SUBSCRIPTION_FILTER_POLICY`, the only supported
5770
+ # `selectionCriteria` filter is `LogGroupName NOT IN []`
3880
5771
  #
3881
- # Using the `selectionCriteria` parameter is useful to help prevent
3882
- # infinite loops. For more information, see [Log recursion
3883
- # prevention][1].
5772
+ # If `policyType` is `FIELD_INDEX_POLICY` or `TRANSFORMER_POLICY`, the
5773
+ # only supported `selectionCriteria` filter is `LogGroupNamePrefix`
3884
5774
  #
3885
- # Specifing `selectionCriteria` is valid only when you specify `
3886
- # SUBSCRIPTION_FILTER_POLICY` for `policyType`.
5775
+ # The `selectionCriteria` string can be up to 25KB in length. The
5776
+ # length is determined by using its UTF-8 bytes.
5777
+ #
5778
+ # Using the `selectionCriteria` parameter with
5779
+ # `SUBSCRIPTION_FILTER_POLICY` is useful to help prevent infinite
5780
+ # loops. For more information, see [Log recursion prevention][1].
3887
5781
  #
3888
5782
  #
3889
5783
  #
@@ -4208,14 +6102,102 @@ module Aws::CloudWatchLogs
4208
6102
  include Aws::Structure
4209
6103
  end
4210
6104
 
4211
- # @!attribute [rw] destination
4212
- # The destination.
4213
- # @return [Types::Destination]
6105
+ # @!attribute [rw] destination
6106
+ # The destination.
6107
+ # @return [Types::Destination]
6108
+ #
6109
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/PutDestinationResponse AWS API Documentation
6110
+ #
6111
+ class PutDestinationResponse < Struct.new(
6112
+ :destination)
6113
+ SENSITIVE = []
6114
+ include Aws::Structure
6115
+ end
6116
+
6117
+ # @!attribute [rw] log_group_identifier
6118
+ # Specify either the log group name or log group ARN to apply this
6119
+ # field index policy to. If you specify an ARN, use the format
6120
+ # arn:aws:logs:*region*:*account-id*:log-group:*log\_group\_name*
6121
+ # Don't include an * at the end.
6122
+ # @return [String]
6123
+ #
6124
+ # @!attribute [rw] policy_document
6125
+ # The index policy document, in JSON format. The following is an
6126
+ # example of an index policy document that creates two indexes,
6127
+ # `RequestId` and `TransactionId`.
6128
+ #
6129
+ # `"policyDocument": "{ "Fields": [ "RequestId", "TransactionId" ] }"`
6130
+ #
6131
+ # The policy document must include at least one field index. For more
6132
+ # information about the fields that can be included and other
6133
+ # restrictions, see [Field index syntax and quotas][1].
6134
+ #
6135
+ #
6136
+ #
6137
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatchLogs-Field-Indexing-Syntax.html
6138
+ # @return [String]
6139
+ #
6140
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/PutIndexPolicyRequest AWS API Documentation
6141
+ #
6142
+ class PutIndexPolicyRequest < Struct.new(
6143
+ :log_group_identifier,
6144
+ :policy_document)
6145
+ SENSITIVE = []
6146
+ include Aws::Structure
6147
+ end
6148
+
6149
+ # @!attribute [rw] index_policy
6150
+ # The index policy that you just created or updated.
6151
+ # @return [Types::IndexPolicy]
6152
+ #
6153
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/PutIndexPolicyResponse AWS API Documentation
6154
+ #
6155
+ class PutIndexPolicyResponse < Struct.new(
6156
+ :index_policy)
6157
+ SENSITIVE = []
6158
+ include Aws::Structure
6159
+ end
6160
+
6161
+ # @!attribute [rw] integration_name
6162
+ # A name for the integration.
6163
+ # @return [String]
6164
+ #
6165
+ # @!attribute [rw] resource_config
6166
+ # A structure that contains configuration information for the
6167
+ # integration that you are creating.
6168
+ # @return [Types::ResourceConfig]
6169
+ #
6170
+ # @!attribute [rw] integration_type
6171
+ # The type of integration. Currently, the only supported type is
6172
+ # `OPENSEARCH`.
6173
+ # @return [String]
6174
+ #
6175
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/PutIntegrationRequest AWS API Documentation
6176
+ #
6177
+ class PutIntegrationRequest < Struct.new(
6178
+ :integration_name,
6179
+ :resource_config,
6180
+ :integration_type)
6181
+ SENSITIVE = []
6182
+ include Aws::Structure
6183
+ end
6184
+
6185
+ # @!attribute [rw] integration_name
6186
+ # The name of the integration that you just created.
6187
+ # @return [String]
4214
6188
  #
4215
- # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/PutDestinationResponse AWS API Documentation
6189
+ # @!attribute [rw] integration_status
6190
+ # The status of the integration that you just created.
4216
6191
  #
4217
- class PutDestinationResponse < Struct.new(
4218
- :destination)
6192
+ # After you create an integration, it takes a few minutes to complete.
6193
+ # During this time, you'll see the status as `PROVISIONING`.
6194
+ # @return [String]
6195
+ #
6196
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/PutIntegrationResponse AWS API Documentation
6197
+ #
6198
+ class PutIntegrationResponse < Struct.new(
6199
+ :integration_name,
6200
+ :integration_status)
4219
6201
  SENSITIVE = []
4220
6202
  include Aws::Structure
4221
6203
  end
@@ -4243,7 +6225,7 @@ module Aws::CloudWatchLogs
4243
6225
  # @return [String]
4244
6226
  #
4245
6227
  # @!attribute [rw] entity
4246
- # Reserved for internal use.
6228
+ # The entity associated with the log events.
4247
6229
  # @return [Types::Entity]
4248
6230
  #
4249
6231
  # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/PutLogEventsRequest AWS API Documentation
@@ -4276,7 +6258,12 @@ module Aws::CloudWatchLogs
4276
6258
  # @return [Types::RejectedLogEventsInfo]
4277
6259
  #
4278
6260
  # @!attribute [rw] rejected_entity_info
4279
- # Reserved for internal use.
6261
+ # Information about why the entity is rejected when calling
6262
+ # `PutLogEvents`. Only returned when the entity is rejected.
6263
+ #
6264
+ # <note markdown="1"> When the entity is rejected, the events may still be accepted.
6265
+ #
6266
+ # </note>
4280
6267
  # @return [Types::RejectedEntityInfo]
4281
6268
  #
4282
6269
  # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/PutLogEventsResponse AWS API Documentation
@@ -4307,17 +6294,44 @@ module Aws::CloudWatchLogs
4307
6294
  # emitted.
4308
6295
  # @return [Array<Types::MetricTransformation>]
4309
6296
  #
6297
+ # @!attribute [rw] apply_on_transformed_logs
6298
+ # This parameter is valid only for log groups that have an active log
6299
+ # transformer. For more information about log transformers, see
6300
+ # [PutTransformer][1].
6301
+ #
6302
+ # If the log group uses either a log-group level or account-level
6303
+ # transformer, and you specify `true`, the metric filter will be
6304
+ # applied on the transformed version of the log events instead of the
6305
+ # original ingested log events.
6306
+ #
6307
+ #
6308
+ #
6309
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutTransformer.html
6310
+ # @return [Boolean]
6311
+ #
4310
6312
  # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/PutMetricFilterRequest AWS API Documentation
4311
6313
  #
4312
6314
  class PutMetricFilterRequest < Struct.new(
4313
6315
  :log_group_name,
4314
6316
  :filter_name,
4315
6317
  :filter_pattern,
4316
- :metric_transformations)
6318
+ :metric_transformations,
6319
+ :apply_on_transformed_logs)
4317
6320
  SENSITIVE = []
4318
6321
  include Aws::Structure
4319
6322
  end
4320
6323
 
6324
+ # @!attribute [rw] query_language
6325
+ # Specify the query language to use for this query. The options are
6326
+ # Logs Insights QL, OpenSearch PPL, and OpenSearch SQL. For more
6327
+ # information about the query languages that CloudWatch Logs supports,
6328
+ # see [Supported query languages][1].
6329
+ #
6330
+ #
6331
+ #
6332
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_AnalyzeLogData_Languages.html
6333
+ # @return [String]
6334
+ #
4321
6335
  # @!attribute [rw] name
4322
6336
  # A name for the query definition. If you are saving numerous query
4323
6337
  # definitions, we recommend that you name them. This way, you can find
@@ -4347,9 +6361,12 @@ module Aws::CloudWatchLogs
4347
6361
  #
4348
6362
  # @!attribute [rw] log_group_names
4349
6363
  # Use this parameter to include specific log groups as part of your
4350
- # query definition.
6364
+ # query definition. If your query uses the OpenSearch Service query
6365
+ # language, you specify the log group names inside the `querystring`
6366
+ # instead of here.
4351
6367
  #
4352
- # If you are updating a query definition and you omit this parameter,
6368
+ # If you are updating an existing query definition for the Logs
6369
+ # Insights QL or OpenSearch Service PPL and you omit this parameter,
4353
6370
  # then the updated definition will contain no log groups.
4354
6371
  # @return [Array<String>]
4355
6372
  #
@@ -4373,6 +6390,7 @@ module Aws::CloudWatchLogs
4373
6390
  # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/PutQueryDefinitionRequest AWS API Documentation
4374
6391
  #
4375
6392
  class PutQueryDefinitionRequest < Struct.new(
6393
+ :query_language,
4376
6394
  :name,
4377
6395
  :query_definition_id,
4378
6396
  :log_group_names,
@@ -4538,6 +6556,21 @@ module Aws::CloudWatchLogs
4538
6556
  # applicable when the destination is an Amazon Kinesis data stream.
4539
6557
  # @return [String]
4540
6558
  #
6559
+ # @!attribute [rw] apply_on_transformed_logs
6560
+ # This parameter is valid only for log groups that have an active log
6561
+ # transformer. For more information about log transformers, see
6562
+ # [PutTransformer][1].
6563
+ #
6564
+ # If the log group uses either a log-group level or account-level
6565
+ # transformer, and you specify `true`, the subscription filter will be
6566
+ # applied on the transformed version of the log events instead of the
6567
+ # original ingested log events.
6568
+ #
6569
+ #
6570
+ #
6571
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutTransformer.html
6572
+ # @return [Boolean]
6573
+ #
4541
6574
  # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/PutSubscriptionFilterRequest AWS API Documentation
4542
6575
  #
4543
6576
  class PutSubscriptionFilterRequest < Struct.new(
@@ -4546,7 +6579,29 @@ module Aws::CloudWatchLogs
4546
6579
  :filter_pattern,
4547
6580
  :destination_arn,
4548
6581
  :role_arn,
4549
- :distribution)
6582
+ :distribution,
6583
+ :apply_on_transformed_logs)
6584
+ SENSITIVE = []
6585
+ include Aws::Structure
6586
+ end
6587
+
6588
+ # @!attribute [rw] log_group_identifier
6589
+ # Specify either the name or ARN of the log group to create the
6590
+ # transformer for.
6591
+ # @return [String]
6592
+ #
6593
+ # @!attribute [rw] transformer_config
6594
+ # This structure contains the configuration of this log transformer. A
6595
+ # log transformer is an array of processors, where each processor
6596
+ # applies one type of transformation to the log events that are
6597
+ # ingested.
6598
+ # @return [Array<Types::Processor>]
6599
+ #
6600
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/PutTransformerRequest AWS API Documentation
6601
+ #
6602
+ class PutTransformerRequest < Struct.new(
6603
+ :log_group_identifier,
6604
+ :transformer_config)
4550
6605
  SENSITIVE = []
4551
6606
  include Aws::Structure
4552
6607
  end
@@ -4592,6 +6647,16 @@ module Aws::CloudWatchLogs
4592
6647
  # This structure contains details about a saved CloudWatch Logs Insights
4593
6648
  # query definition.
4594
6649
  #
6650
+ # @!attribute [rw] query_language
6651
+ # The query language used for this query. For more information about
6652
+ # the query languages that CloudWatch Logs supports, see [Supported
6653
+ # query languages][1].
6654
+ #
6655
+ #
6656
+ #
6657
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_AnalyzeLogData_Languages.html
6658
+ # @return [String]
6659
+ #
4595
6660
  # @!attribute [rw] query_definition_id
4596
6661
  # The unique ID of the query definition.
4597
6662
  # @return [String]
@@ -4621,6 +6686,7 @@ module Aws::CloudWatchLogs
4621
6686
  # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/QueryDefinition AWS API Documentation
4622
6687
  #
4623
6688
  class QueryDefinition < Struct.new(
6689
+ :query_language,
4624
6690
  :query_definition_id,
4625
6691
  :name,
4626
6692
  :query_string,
@@ -4633,6 +6699,16 @@ module Aws::CloudWatchLogs
4633
6699
  # Information about one CloudWatch Logs Insights query that matches the
4634
6700
  # request in a `DescribeQueries` operation.
4635
6701
  #
6702
+ # @!attribute [rw] query_language
6703
+ # The query language used for this query. For more information about
6704
+ # the query languages that CloudWatch Logs supports, see [Supported
6705
+ # query languages][1].
6706
+ #
6707
+ #
6708
+ #
6709
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_AnalyzeLogData_Languages.html
6710
+ # @return [String]
6711
+ #
4636
6712
  # @!attribute [rw] query_id
4637
6713
  # The unique ID number of this query.
4638
6714
  # @return [String]
@@ -4657,6 +6733,7 @@ module Aws::CloudWatchLogs
4657
6733
  # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/QueryInfo AWS API Documentation
4658
6734
  #
4659
6735
  class QueryInfo < Struct.new(
6736
+ :query_language,
4660
6737
  :query_id,
4661
6738
  :query_string,
4662
6739
  :status,
@@ -4670,6 +6747,17 @@ module Aws::CloudWatchLogs
4670
6747
  # log events that matched the query criteria, and the total number of
4671
6748
  # bytes in the log events that were scanned.
4672
6749
  #
6750
+ # If the query involved log groups that have field index policies, the
6751
+ # estimated number of skipped log events and the total bytes of those
6752
+ # skipped log events are included. Using field indexes to skip log
6753
+ # events in queries reduces scan volume and improves performance. For
6754
+ # more information, see [Create field indexes to improve query
6755
+ # performance and reduce scan volume][1].
6756
+ #
6757
+ #
6758
+ #
6759
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatchLogs-Field-Indexing.html
6760
+ #
4673
6761
  # @!attribute [rw] records_matched
4674
6762
  # The number of log events that matched the query string.
4675
6763
  # @return [Float]
@@ -4678,17 +6766,48 @@ module Aws::CloudWatchLogs
4678
6766
  # The total number of log events scanned during the query.
4679
6767
  # @return [Float]
4680
6768
  #
6769
+ # @!attribute [rw] estimated_records_skipped
6770
+ # An estimate of the number of log events that were skipped when
6771
+ # processing this query, because the query contained an indexed field.
6772
+ # Skipping these entries lowers query costs and improves the query
6773
+ # performance time. For more information about field indexes, see
6774
+ # [PutIndexPolicy][1].
6775
+ #
6776
+ #
6777
+ #
6778
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutIndexPolicy.html
6779
+ # @return [Float]
6780
+ #
4681
6781
  # @!attribute [rw] bytes_scanned
4682
6782
  # The total number of bytes in the log events scanned during the
4683
6783
  # query.
4684
6784
  # @return [Float]
4685
6785
  #
6786
+ # @!attribute [rw] estimated_bytes_skipped
6787
+ # An estimate of the number of bytes in the log events that were
6788
+ # skipped when processing this query, because the query contained an
6789
+ # indexed field. Skipping these entries lowers query costs and
6790
+ # improves the query performance time. For more information about
6791
+ # field indexes, see [PutIndexPolicy][1].
6792
+ #
6793
+ #
6794
+ #
6795
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutIndexPolicy.html
6796
+ # @return [Float]
6797
+ #
6798
+ # @!attribute [rw] log_groups_scanned
6799
+ # The number of log groups that were scanned by this query.
6800
+ # @return [Float]
6801
+ #
4686
6802
  # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/QueryStatistics AWS API Documentation
4687
6803
  #
4688
6804
  class QueryStatistics < Struct.new(
4689
6805
  :records_matched,
4690
6806
  :records_scanned,
4691
- :bytes_scanned)
6807
+ :estimated_records_skipped,
6808
+ :bytes_scanned,
6809
+ :estimated_bytes_skipped,
6810
+ :log_groups_scanned)
4692
6811
  SENSITIVE = []
4693
6812
  include Aws::Structure
4694
6813
  end
@@ -4726,10 +6845,12 @@ module Aws::CloudWatchLogs
4726
6845
  include Aws::Structure
4727
6846
  end
4728
6847
 
4729
- # Reserved for internal use.
6848
+ # If an entity is rejected when a `PutLogEvents` request was made, this
6849
+ # includes details about the reason for the rejection.
4730
6850
  #
4731
6851
  # @!attribute [rw] error_type
4732
- # Reserved for internal use.
6852
+ # The type of error that caused the rejection of the entity when
6853
+ # calling `PutLogEvents`.
4733
6854
  # @return [String]
4734
6855
  #
4735
6856
  # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/RejectedEntityInfo AWS API Documentation
@@ -4766,12 +6887,87 @@ module Aws::CloudWatchLogs
4766
6887
  include Aws::Structure
4767
6888
  end
4768
6889
 
6890
+ # This object defines one key that will be renamed with the [
6891
+ # renameKey][1] processor.
6892
+ #
6893
+ #
6894
+ #
6895
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-renameKey
6896
+ #
6897
+ # @!attribute [rw] key
6898
+ # The key to rename
6899
+ # @return [String]
6900
+ #
6901
+ # @!attribute [rw] rename_to
6902
+ # The string to use for the new key name
6903
+ # @return [String]
6904
+ #
6905
+ # @!attribute [rw] overwrite_if_exists
6906
+ # Specifies whether to overwrite the existing value if the destination
6907
+ # key already exists. The default is `false`
6908
+ # @return [Boolean]
6909
+ #
6910
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/RenameKeyEntry AWS API Documentation
6911
+ #
6912
+ class RenameKeyEntry < Struct.new(
6913
+ :key,
6914
+ :rename_to,
6915
+ :overwrite_if_exists)
6916
+ SENSITIVE = []
6917
+ include Aws::Structure
6918
+ end
6919
+
6920
+ # Use this processor to rename keys in a log event.
6921
+ #
6922
+ # For more information about this processor including examples, see [
6923
+ # renameKeys][1] in the *CloudWatch Logs User Guide*.
6924
+ #
6925
+ #
6926
+ #
6927
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-renameKeys
6928
+ #
6929
+ # @!attribute [rw] entries
6930
+ # An array of `RenameKeyEntry` objects, where each object contains the
6931
+ # information about a single key to rename.
6932
+ # @return [Array<Types::RenameKeyEntry>]
6933
+ #
6934
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/RenameKeys AWS API Documentation
6935
+ #
6936
+ class RenameKeys < Struct.new(
6937
+ :entries)
6938
+ SENSITIVE = []
6939
+ include Aws::Structure
6940
+ end
6941
+
4769
6942
  # The specified resource already exists.
4770
6943
  #
4771
6944
  # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/ResourceAlreadyExistsException AWS API Documentation
4772
6945
  #
4773
6946
  class ResourceAlreadyExistsException < Aws::EmptyStructure; end
4774
6947
 
6948
+ # This structure contains configuration details about an integration
6949
+ # between CloudWatch Logs and another entity.
6950
+ #
6951
+ # @note ResourceConfig is a union - when making an API calls you must set exactly one of the members.
6952
+ #
6953
+ # @!attribute [rw] open_search_resource_config
6954
+ # This structure contains configuration details about an integration
6955
+ # between CloudWatch Logs and OpenSearch Service.
6956
+ # @return [Types::OpenSearchResourceConfig]
6957
+ #
6958
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/ResourceConfig AWS API Documentation
6959
+ #
6960
+ class ResourceConfig < Struct.new(
6961
+ :open_search_resource_config,
6962
+ :unknown)
6963
+ SENSITIVE = []
6964
+ include Aws::Structure
6965
+ include Aws::Structure::Union
6966
+
6967
+ class OpenSearchResourceConfig < ResourceConfig; end
6968
+ class Unknown < ResourceConfig; end
6969
+ end
6970
+
4775
6971
  # The specified resource does not exist.
4776
6972
  #
4777
6973
  # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/ResourceNotFoundException AWS API Documentation
@@ -4917,6 +7113,53 @@ module Aws::CloudWatchLogs
4917
7113
  include Aws::Structure
4918
7114
  end
4919
7115
 
7116
+ # Use this processor to split a field into an array of strings using a
7117
+ # delimiting character.
7118
+ #
7119
+ # For more information about this processor including examples, see [
7120
+ # splitString][1] in the *CloudWatch Logs User Guide*.
7121
+ #
7122
+ #
7123
+ #
7124
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-splitString
7125
+ #
7126
+ # @!attribute [rw] entries
7127
+ # An array of `SplitStringEntry` objects, where each object contains
7128
+ # the information about one field to split.
7129
+ # @return [Array<Types::SplitStringEntry>]
7130
+ #
7131
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/SplitString AWS API Documentation
7132
+ #
7133
+ class SplitString < Struct.new(
7134
+ :entries)
7135
+ SENSITIVE = []
7136
+ include Aws::Structure
7137
+ end
7138
+
7139
+ # This object defines one log field that will be split with the [
7140
+ # splitString][1] processor.
7141
+ #
7142
+ #
7143
+ #
7144
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-splitString
7145
+ #
7146
+ # @!attribute [rw] source
7147
+ # The key of the field to split.
7148
+ # @return [String]
7149
+ #
7150
+ # @!attribute [rw] delimiter
7151
+ # The separator characters to split the string entry on.
7152
+ # @return [String]
7153
+ #
7154
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/SplitStringEntry AWS API Documentation
7155
+ #
7156
+ class SplitStringEntry < Struct.new(
7157
+ :source,
7158
+ :delimiter)
7159
+ SENSITIVE = []
7160
+ include Aws::Structure
7161
+ end
7162
+
4920
7163
  # @!attribute [rw] log_group_identifiers
4921
7164
  # An array where each item in the array is a log group to include in
4922
7165
  # the Live Tail session.
@@ -4997,12 +7240,25 @@ module Aws::CloudWatchLogs
4997
7240
  include Aws::Structure
4998
7241
  end
4999
7242
 
7243
+ # @!attribute [rw] query_language
7244
+ # Specify the query language to use for this query. The options are
7245
+ # Logs Insights QL, OpenSearch PPL, and OpenSearch SQL. For more
7246
+ # information about the query languages that CloudWatch Logs supports,
7247
+ # see [Supported query languages][1].
7248
+ #
7249
+ #
7250
+ #
7251
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_AnalyzeLogData_Languages.html
7252
+ # @return [String]
7253
+ #
5000
7254
  # @!attribute [rw] log_group_name
5001
7255
  # The log group on which to perform the query.
5002
7256
  #
5003
7257
  # <note markdown="1"> A `StartQuery` operation must include exactly one of the following
5004
7258
  # parameters: `logGroupName`, `logGroupNames`, or
5005
- # `logGroupIdentifiers`.
7259
+ # `logGroupIdentifiers`. The exception is queries using the OpenSearch
7260
+ # Service SQL query language, where you specify the log group names
7261
+ # inside the `querystring` instead of here.
5006
7262
  #
5007
7263
  # </note>
5008
7264
  # @return [String]
@@ -5013,7 +7269,9 @@ module Aws::CloudWatchLogs
5013
7269
  #
5014
7270
  # <note markdown="1"> A `StartQuery` operation must include exactly one of the following
5015
7271
  # parameters: `logGroupName`, `logGroupNames`, or
5016
- # `logGroupIdentifiers`.
7272
+ # `logGroupIdentifiers`. The exception is queries using the OpenSearch
7273
+ # Service SQL query language, where you specify the log group names
7274
+ # inside the `querystring` instead of here.
5017
7275
  #
5018
7276
  # </note>
5019
7277
  # @return [Array<String>]
@@ -5027,11 +7285,15 @@ module Aws::CloudWatchLogs
5027
7285
  # monitoring account, you must specify the ARN of the log group here.
5028
7286
  # The query definition must also be defined in the monitoring account.
5029
7287
  #
5030
- # If you specify an ARN, the ARN can't end with an asterisk (*).
7288
+ # If you specify an ARN, use the format
7289
+ # arn:aws:logs:*region*:*account-id*:log-group:*log\_group\_name*
7290
+ # Don't include an * at the end.
5031
7291
  #
5032
7292
  # A `StartQuery` operation must include exactly one of the following
5033
7293
  # parameters: `logGroupName`, `logGroupNames`, or
5034
- # `logGroupIdentifiers`.
7294
+ # `logGroupIdentifiers`. The exception is queries using the OpenSearch
7295
+ # Service SQL query language, where you specify the log group names
7296
+ # inside the `querystring` instead of here.
5035
7297
  # @return [Array<String>]
5036
7298
  #
5037
7299
  # @!attribute [rw] start_time
@@ -5065,6 +7327,7 @@ module Aws::CloudWatchLogs
5065
7327
  # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/StartQueryRequest AWS API Documentation
5066
7328
  #
5067
7329
  class StartQueryRequest < Struct.new(
7330
+ :query_language,
5068
7331
  :log_group_name,
5069
7332
  :log_group_names,
5070
7333
  :log_group_identifiers,
@@ -5142,6 +7405,20 @@ module Aws::CloudWatchLogs
5142
7405
  # be either random or grouped by log stream.
5143
7406
  # @return [String]
5144
7407
  #
7408
+ # @!attribute [rw] apply_on_transformed_logs
7409
+ # This parameter is valid only for log groups that have an active log
7410
+ # transformer. For more information about log transformers, see
7411
+ # [PutTransformer][1].
7412
+ #
7413
+ # If this value is `true`, the subscription filter is applied on the
7414
+ # transformed version of the log events instead of the original
7415
+ # ingested log events.
7416
+ #
7417
+ #
7418
+ #
7419
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutTransformer.html
7420
+ # @return [Boolean]
7421
+ #
5145
7422
  # @!attribute [rw] creation_time
5146
7423
  # The creation time of the subscription filter, expressed as the
5147
7424
  # number of milliseconds after `Jan 1, 1970 00:00:00 UTC`.
@@ -5156,11 +7433,71 @@ module Aws::CloudWatchLogs
5156
7433
  :destination_arn,
5157
7434
  :role_arn,
5158
7435
  :distribution,
7436
+ :apply_on_transformed_logs,
5159
7437
  :creation_time)
5160
7438
  SENSITIVE = []
5161
7439
  include Aws::Structure
5162
7440
  end
5163
7441
 
7442
+ # This processor matches a key’s value against a regular expression and
7443
+ # replaces all matches with a replacement string.
7444
+ #
7445
+ # For more information about this processor including examples, see [
7446
+ # substituteString][1] in the *CloudWatch Logs User Guide*.
7447
+ #
7448
+ #
7449
+ #
7450
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-substituteString
7451
+ #
7452
+ # @!attribute [rw] entries
7453
+ # An array of objects, where each object contains the information
7454
+ # about one key to match and replace.
7455
+ # @return [Array<Types::SubstituteStringEntry>]
7456
+ #
7457
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/SubstituteString AWS API Documentation
7458
+ #
7459
+ class SubstituteString < Struct.new(
7460
+ :entries)
7461
+ SENSITIVE = []
7462
+ include Aws::Structure
7463
+ end
7464
+
7465
+ # This object defines one log field key that will be replaced using the
7466
+ # [ substituteString][1] processor.
7467
+ #
7468
+ #
7469
+ #
7470
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-substituteString
7471
+ #
7472
+ # @!attribute [rw] source
7473
+ # The key to modify
7474
+ # @return [String]
7475
+ #
7476
+ # @!attribute [rw] from
7477
+ # The regular expression string to be replaced. Special regex
7478
+ # characters such as \[ and \] must be escaped using \\\\ when using
7479
+ # double quotes and with \\ when using single quotes. For more
7480
+ # information, see [ Class Pattern][1] on the Oracle web site.
7481
+ #
7482
+ #
7483
+ #
7484
+ # [1]: https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/regex/Pattern.html
7485
+ # @return [String]
7486
+ #
7487
+ # @!attribute [rw] to
7488
+ # The string to be substituted for each match of `from`
7489
+ # @return [String]
7490
+ #
7491
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/SubstituteStringEntry AWS API Documentation
7492
+ #
7493
+ class SubstituteStringEntry < Struct.new(
7494
+ :source,
7495
+ :from,
7496
+ :to)
7497
+ SENSITIVE = []
7498
+ include Aws::Structure
7499
+ end
7500
+
5164
7501
  # If you are suppressing an anomaly temporariliy, this structure defines
5165
7502
  # how long the suppression period is to be.
5166
7503
  #
@@ -5262,6 +7599,41 @@ module Aws::CloudWatchLogs
5262
7599
  include Aws::Structure
5263
7600
  end
5264
7601
 
7602
+ # @!attribute [rw] transformer_config
7603
+ # This structure contains the configuration of this log transformer
7604
+ # that you want to test. A log transformer is an array of processors,
7605
+ # where each processor applies one type of transformation to the log
7606
+ # events that are ingested.
7607
+ # @return [Array<Types::Processor>]
7608
+ #
7609
+ # @!attribute [rw] log_event_messages
7610
+ # An array of the raw log events that you want to use to test this
7611
+ # transformer.
7612
+ # @return [Array<String>]
7613
+ #
7614
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/TestTransformerRequest AWS API Documentation
7615
+ #
7616
+ class TestTransformerRequest < Struct.new(
7617
+ :transformer_config,
7618
+ :log_event_messages)
7619
+ SENSITIVE = []
7620
+ include Aws::Structure
7621
+ end
7622
+
7623
+ # @!attribute [rw] transformed_logs
7624
+ # An array where each member of the array includes both the original
7625
+ # version and the transformed version of one of the log events that
7626
+ # you input.
7627
+ # @return [Array<Types::TransformedLogRecord>]
7628
+ #
7629
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/TestTransformerResponse AWS API Documentation
7630
+ #
7631
+ class TestTransformerResponse < Struct.new(
7632
+ :transformed_logs)
7633
+ SENSITIVE = []
7634
+ include Aws::Structure
7635
+ end
7636
+
5265
7637
  # The request was throttled because of quota limits.
5266
7638
  #
5267
7639
  # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/ThrottlingException AWS API Documentation
@@ -5286,6 +7658,103 @@ module Aws::CloudWatchLogs
5286
7658
  include Aws::Structure
5287
7659
  end
5288
7660
 
7661
+ # This structure contains information for one log event that has been
7662
+ # processed by a log transformer.
7663
+ #
7664
+ # @!attribute [rw] event_number
7665
+ # The event number.
7666
+ # @return [Integer]
7667
+ #
7668
+ # @!attribute [rw] event_message
7669
+ # The original log event message before it was transformed.
7670
+ # @return [String]
7671
+ #
7672
+ # @!attribute [rw] transformed_event_message
7673
+ # The log event message after being transformed.
7674
+ # @return [String]
7675
+ #
7676
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/TransformedLogRecord AWS API Documentation
7677
+ #
7678
+ class TransformedLogRecord < Struct.new(
7679
+ :event_number,
7680
+ :event_message,
7681
+ :transformed_event_message)
7682
+ SENSITIVE = []
7683
+ include Aws::Structure
7684
+ end
7685
+
7686
+ # Use this processor to remove leading and trailing whitespace.
7687
+ #
7688
+ # For more information about this processor including examples, see [
7689
+ # trimString][1] in the *CloudWatch Logs User Guide*.
7690
+ #
7691
+ #
7692
+ #
7693
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-trimString
7694
+ #
7695
+ # @!attribute [rw] with_keys
7696
+ # The array containing the keys of the fields to trim.
7697
+ # @return [Array<String>]
7698
+ #
7699
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/TrimString AWS API Documentation
7700
+ #
7701
+ class TrimString < Struct.new(
7702
+ :with_keys)
7703
+ SENSITIVE = []
7704
+ include Aws::Structure
7705
+ end
7706
+
7707
+ # Use this processor to convert a value type associated with the
7708
+ # specified key to the specified type. It's a casting processor that
7709
+ # changes the types of the specified fields. Values can be converted
7710
+ # into one of the following datatypes: `integer`, `double`, `string` and
7711
+ # `boolean`.
7712
+ #
7713
+ # For more information about this processor including examples, see [
7714
+ # trimString][1] in the *CloudWatch Logs User Guide*.
7715
+ #
7716
+ #
7717
+ #
7718
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-trimString
7719
+ #
7720
+ # @!attribute [rw] entries
7721
+ # An array of `TypeConverterEntry` objects, where each object contains
7722
+ # the information about one field to change the type of.
7723
+ # @return [Array<Types::TypeConverterEntry>]
7724
+ #
7725
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/TypeConverter AWS API Documentation
7726
+ #
7727
+ class TypeConverter < Struct.new(
7728
+ :entries)
7729
+ SENSITIVE = []
7730
+ include Aws::Structure
7731
+ end
7732
+
7733
+ # This object defines one value type that will be converted using the [
7734
+ # typeConverter][1] processor.
7735
+ #
7736
+ #
7737
+ #
7738
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-typeConverter
7739
+ #
7740
+ # @!attribute [rw] key
7741
+ # The key with the value that is to be converted to a different type.
7742
+ # @return [String]
7743
+ #
7744
+ # @!attribute [rw] type
7745
+ # The type to convert the field value to. Valid values are `integer`,
7746
+ # `double`, `string` and `boolean`.
7747
+ # @return [String]
7748
+ #
7749
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/TypeConverterEntry AWS API Documentation
7750
+ #
7751
+ class TypeConverterEntry < Struct.new(
7752
+ :key,
7753
+ :type)
7754
+ SENSITIVE = []
7755
+ include Aws::Structure
7756
+ end
7757
+
5289
7758
  # The most likely cause is an Amazon Web Services access key ID or
5290
7759
  # secret key that's not valid.
5291
7760
  #
@@ -5479,6 +7948,28 @@ module Aws::CloudWatchLogs
5479
7948
  include Aws::Structure
5480
7949
  end
5481
7950
 
7951
+ # This processor converts a string field to uppercase.
7952
+ #
7953
+ # For more information about this processor including examples, see [
7954
+ # upperCaseString][1] in the *CloudWatch Logs User Guide*.
7955
+ #
7956
+ #
7957
+ #
7958
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-upperCaseString
7959
+ #
7960
+ # @!attribute [rw] with_keys
7961
+ # The array of containing the keys of the field to convert to
7962
+ # uppercase.
7963
+ # @return [Array<String>]
7964
+ #
7965
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/UpperCaseString AWS API Documentation
7966
+ #
7967
+ class UpperCaseString < Struct.new(
7968
+ :with_keys)
7969
+ SENSITIVE = []
7970
+ include Aws::Structure
7971
+ end
7972
+
5482
7973
  # One of the parameters for the request is not valid.
5483
7974
  #
5484
7975
  # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/ValidationException AWS API Documentation