aws-sdk-cloudwatchlogs 1.102.0 → 1.103.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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,45 @@ 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
+ # This processor deletes entries from a log event. These entries are
1150
+ # key-value pairs.
1151
+ #
1152
+ # For more information about this processor including examples, see [
1153
+ # deleteKeys][1] in the *CloudWatch Logs User Guide*.
1154
+ #
1155
+ #
1156
+ #
1157
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-deleteKeys
1158
+ #
1159
+ # @!attribute [rw] with_keys
1160
+ # The list of keys to delete.
1161
+ # @return [Array<String>]
1162
+ #
1163
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DeleteKeys AWS API Documentation
1164
+ #
1165
+ class DeleteKeys < Struct.new(
1166
+ :with_keys)
1167
+ SENSITIVE = []
1168
+ include Aws::Structure
1169
+ end
1170
+
920
1171
  # @!attribute [rw] anomaly_detector_arn
921
1172
  # The ARN of the anomaly detector to delete. You can find the ARNs of
922
1173
  # log anomaly detectors in your account by using the
@@ -1053,6 +1304,20 @@ module Aws::CloudWatchLogs
1053
1304
  include Aws::Structure
1054
1305
  end
1055
1306
 
1307
+ # @!attribute [rw] log_group_identifier
1308
+ # Specify either the name or ARN of the log group to delete the
1309
+ # transformer for. If the log group is in a source account and you are
1310
+ # using a monitoring account, you must use the log group ARN.
1311
+ # @return [String]
1312
+ #
1313
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DeleteTransformerRequest AWS API Documentation
1314
+ #
1315
+ class DeleteTransformerRequest < Struct.new(
1316
+ :log_group_identifier)
1317
+ SENSITIVE = []
1318
+ include Aws::Structure
1319
+ end
1320
+
1056
1321
  # This structure contains information about one *delivery* in your
1057
1322
  # account.
1058
1323
  #
@@ -1325,12 +1590,18 @@ module Aws::CloudWatchLogs
1325
1590
  # is returned.
1326
1591
  # @return [Array<String>]
1327
1592
  #
1593
+ # @!attribute [rw] next_token
1594
+ # The token for the next set of items to return. (You received this
1595
+ # token from a previous call.)
1596
+ # @return [String]
1597
+ #
1328
1598
  # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DescribeAccountPoliciesRequest AWS API Documentation
1329
1599
  #
1330
1600
  class DescribeAccountPoliciesRequest < Struct.new(
1331
1601
  :policy_type,
1332
1602
  :policy_name,
1333
- :account_identifiers)
1603
+ :account_identifiers,
1604
+ :next_token)
1334
1605
  SENSITIVE = []
1335
1606
  include Aws::Structure
1336
1607
  end
@@ -1340,10 +1611,16 @@ module Aws::CloudWatchLogs
1340
1611
  # Logs account policies that match the specified filters.
1341
1612
  # @return [Array<Types::AccountPolicy>]
1342
1613
  #
1614
+ # @!attribute [rw] next_token
1615
+ # The token to use when requesting the next set of items. The token
1616
+ # expires after 24 hours.
1617
+ # @return [String]
1618
+ #
1343
1619
  # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DescribeAccountPoliciesResponse AWS API Documentation
1344
1620
  #
1345
1621
  class DescribeAccountPoliciesResponse < Struct.new(
1346
- :account_policies)
1622
+ :account_policies,
1623
+ :next_token)
1347
1624
  SENSITIVE = []
1348
1625
  include Aws::Structure
1349
1626
  end
@@ -1620,6 +1897,80 @@ module Aws::CloudWatchLogs
1620
1897
  include Aws::Structure
1621
1898
  end
1622
1899
 
1900
+ # @!attribute [rw] log_group_identifiers
1901
+ # An array containing the names or ARNs of the log groups that you
1902
+ # want to retrieve field indexes for.
1903
+ # @return [Array<String>]
1904
+ #
1905
+ # @!attribute [rw] next_token
1906
+ # The token for the next set of items to return. The token expires
1907
+ # after 24 hours.
1908
+ # @return [String]
1909
+ #
1910
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DescribeFieldIndexesRequest AWS API Documentation
1911
+ #
1912
+ class DescribeFieldIndexesRequest < Struct.new(
1913
+ :log_group_identifiers,
1914
+ :next_token)
1915
+ SENSITIVE = []
1916
+ include Aws::Structure
1917
+ end
1918
+
1919
+ # @!attribute [rw] field_indexes
1920
+ # An array containing the field index information.
1921
+ # @return [Array<Types::FieldIndex>]
1922
+ #
1923
+ # @!attribute [rw] next_token
1924
+ # The token for the next set of items to return. The token expires
1925
+ # after 24 hours.
1926
+ # @return [String]
1927
+ #
1928
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DescribeFieldIndexesResponse AWS API Documentation
1929
+ #
1930
+ class DescribeFieldIndexesResponse < Struct.new(
1931
+ :field_indexes,
1932
+ :next_token)
1933
+ SENSITIVE = []
1934
+ include Aws::Structure
1935
+ end
1936
+
1937
+ # @!attribute [rw] log_group_identifiers
1938
+ # An array containing the name or ARN of the log group that you want
1939
+ # to retrieve field index policies for.
1940
+ # @return [Array<String>]
1941
+ #
1942
+ # @!attribute [rw] next_token
1943
+ # The token for the next set of items to return. The token expires
1944
+ # after 24 hours.
1945
+ # @return [String]
1946
+ #
1947
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DescribeIndexPoliciesRequest AWS API Documentation
1948
+ #
1949
+ class DescribeIndexPoliciesRequest < Struct.new(
1950
+ :log_group_identifiers,
1951
+ :next_token)
1952
+ SENSITIVE = []
1953
+ include Aws::Structure
1954
+ end
1955
+
1956
+ # @!attribute [rw] index_policies
1957
+ # An array containing the field index policies.
1958
+ # @return [Array<Types::IndexPolicy>]
1959
+ #
1960
+ # @!attribute [rw] next_token
1961
+ # The token for the next set of items to return. The token expires
1962
+ # after 24 hours.
1963
+ # @return [String]
1964
+ #
1965
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DescribeIndexPoliciesResponse AWS API Documentation
1966
+ #
1967
+ class DescribeIndexPoliciesResponse < Struct.new(
1968
+ :index_policies,
1969
+ :next_token)
1970
+ SENSITIVE = []
1971
+ include Aws::Structure
1972
+ end
1973
+
1623
1974
  # @!attribute [rw] account_identifiers
1624
1975
  # When `includeLinkedAccounts` is set to `True`, use this parameter to
1625
1976
  # specify the list of accounts to search. You can specify as many as
@@ -2145,14 +2496,34 @@ module Aws::CloudWatchLogs
2145
2496
  include Aws::Structure
2146
2497
  end
2147
2498
 
2148
- # Reserved for internal use.
2499
+ # The entity associated with the log events in a `PutLogEvents` call.
2149
2500
  #
2150
2501
  # @!attribute [rw] key_attributes
2151
- # Reserved for internal use.
2502
+ # The attributes of the entity which identify the specific entity, as
2503
+ # a list of key-value pairs. Entities with the same `keyAttributes`
2504
+ # are considered to be the same entity.
2505
+ #
2506
+ # There are five allowed attributes (key names): `Type`,
2507
+ # `ResourceType`, `Identifier` `Name`, and `Environment`.
2508
+ #
2509
+ # For details about how to use the key attributes, see [How to add
2510
+ # related information to telemetry][1] in the *CloudWatch User Guide*.
2511
+ #
2512
+ #
2513
+ #
2514
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/adding-your-own-related-telemetry.html
2152
2515
  # @return [Hash<String,String>]
2153
2516
  #
2154
2517
  # @!attribute [rw] attributes
2155
- # Reserved for internal use.
2518
+ # Additional attributes of the entity that are not used to specify the
2519
+ # identity of the entity. A list of key-value pairs.
2520
+ #
2521
+ # For details about how to use the attributes, see [How to add related
2522
+ # information to telemetry][1] in the *CloudWatch User Guide*.
2523
+ #
2524
+ #
2525
+ #
2526
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/adding-your-own-related-telemetry.html
2156
2527
  # @return [Hash<String,String>]
2157
2528
  #
2158
2529
  # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/Entity AWS API Documentation
@@ -2263,6 +2634,46 @@ module Aws::CloudWatchLogs
2263
2634
  include Aws::Structure
2264
2635
  end
2265
2636
 
2637
+ # This structure describes one log event field that is used as an index
2638
+ # in at least one index policy in this account.
2639
+ #
2640
+ # @!attribute [rw] log_group_identifier
2641
+ # If this field index appears in an index policy that applies only to
2642
+ # a single log group, the ARN of that log group is displayed here.
2643
+ # @return [String]
2644
+ #
2645
+ # @!attribute [rw] field_index_name
2646
+ # The string that this field index matches.
2647
+ # @return [String]
2648
+ #
2649
+ # @!attribute [rw] last_scan_time
2650
+ # The most recent time that CloudWatch Logs scanned ingested log
2651
+ # events to search for this field index to improve the speed of future
2652
+ # CloudWatch Logs Insights queries that search for this field index.
2653
+ # @return [Integer]
2654
+ #
2655
+ # @!attribute [rw] first_event_time
2656
+ # The time and date of the earliest log event that matches this field
2657
+ # index, after the index policy that contains it was created.
2658
+ # @return [Integer]
2659
+ #
2660
+ # @!attribute [rw] last_event_time
2661
+ # The time and date of the most recent log event that matches this
2662
+ # field index.
2663
+ # @return [Integer]
2664
+ #
2665
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/FieldIndex AWS API Documentation
2666
+ #
2667
+ class FieldIndex < Struct.new(
2668
+ :log_group_identifier,
2669
+ :field_index_name,
2670
+ :last_scan_time,
2671
+ :first_event_time,
2672
+ :last_event_time)
2673
+ SENSITIVE = []
2674
+ include Aws::Structure
2675
+ end
2676
+
2266
2677
  # @!attribute [rw] log_group_name
2267
2678
  # The name of the log group to search.
2268
2679
  #
@@ -2913,39 +3324,157 @@ module Aws::CloudWatchLogs
2913
3324
  include Aws::Structure
2914
3325
  end
2915
3326
 
2916
- # Represents a log event, which is a record of activity that was
2917
- # recorded by the application or resource being monitored.
2918
- #
2919
- # @!attribute [rw] timestamp
2920
- # The time the event occurred, expressed as the number of milliseconds
2921
- # after `Jan 1, 1970 00:00:00 UTC`.
2922
- # @return [Integer]
2923
- #
2924
- # @!attribute [rw] message
2925
- # The raw event message. Each log event can be no larger than 256 KB.
3327
+ # @!attribute [rw] log_group_identifier
3328
+ # Specify either the name or ARN of the log group to return
3329
+ # transformer information for. If the log group is in a source account
3330
+ # and you are using a monitoring account, you must use the log group
3331
+ # ARN.
2926
3332
  # @return [String]
2927
3333
  #
2928
- # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/InputLogEvent AWS API Documentation
3334
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/GetTransformerRequest AWS API Documentation
2929
3335
  #
2930
- class InputLogEvent < Struct.new(
2931
- :timestamp,
2932
- :message)
3336
+ class GetTransformerRequest < Struct.new(
3337
+ :log_group_identifier)
2933
3338
  SENSITIVE = []
2934
3339
  include Aws::Structure
2935
3340
  end
2936
3341
 
2937
- # The operation is not valid on the specified resource.
3342
+ # @!attribute [rw] log_group_identifier
3343
+ # The ARN of the log group that you specified in your request.
3344
+ # @return [String]
2938
3345
  #
2939
- # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/InvalidOperationException AWS API Documentation
3346
+ # @!attribute [rw] creation_time
3347
+ # The creation time of the transformer, expressed as the number of
3348
+ # milliseconds after Jan 1, 1970 00:00:00 UTC.
3349
+ # @return [Integer]
2940
3350
  #
2941
- class InvalidOperationException < Aws::EmptyStructure; end
2942
-
2943
- # A parameter is specified incorrectly.
3351
+ # @!attribute [rw] last_modified_time
3352
+ # The date and time when this transformer was most recently modified,
3353
+ # expressed as the number of milliseconds after Jan 1, 1970 00:00:00
3354
+ # UTC.
3355
+ # @return [Integer]
2944
3356
  #
2945
- # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/InvalidParameterException AWS API Documentation
3357
+ # @!attribute [rw] transformer_config
3358
+ # This sructure contains the configuration of the requested
3359
+ # transformer.
3360
+ # @return [Array<Types::Processor>]
2946
3361
  #
2947
- class InvalidParameterException < Aws::EmptyStructure; end
2948
-
3362
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/GetTransformerResponse AWS API Documentation
3363
+ #
3364
+ class GetTransformerResponse < Struct.new(
3365
+ :log_group_identifier,
3366
+ :creation_time,
3367
+ :last_modified_time,
3368
+ :transformer_config)
3369
+ SENSITIVE = []
3370
+ include Aws::Structure
3371
+ end
3372
+
3373
+ # This processor uses pattern matching to parse and structure
3374
+ # unstructured data. This processor can also extract fields from log
3375
+ # messages.
3376
+ #
3377
+ # For more information about this processor including examples, see [
3378
+ # grok][1] in the *CloudWatch Logs User Guide*.
3379
+ #
3380
+ #
3381
+ #
3382
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-Grok
3383
+ #
3384
+ # @!attribute [rw] source
3385
+ # The path to the field in the log event that you want to parse. If
3386
+ # you omit this value, the whole log message is parsed.
3387
+ # @return [String]
3388
+ #
3389
+ # @!attribute [rw] match
3390
+ # The grok pattern to match against the log event. For a list of
3391
+ # supported grok patterns, see [Supported grok patterns][1].
3392
+ #
3393
+ #
3394
+ #
3395
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#Grok-Patterns
3396
+ # @return [String]
3397
+ #
3398
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/Grok AWS API Documentation
3399
+ #
3400
+ class Grok < Struct.new(
3401
+ :source,
3402
+ :match)
3403
+ SENSITIVE = []
3404
+ include Aws::Structure
3405
+ end
3406
+
3407
+ # This structure contains information about one field index policy in
3408
+ # this account.
3409
+ #
3410
+ # @!attribute [rw] log_group_identifier
3411
+ # The ARN of the log group that this index policy applies to.
3412
+ # @return [String]
3413
+ #
3414
+ # @!attribute [rw] last_update_time
3415
+ # The date and time that this index policy was most recently updated.
3416
+ # @return [Integer]
3417
+ #
3418
+ # @!attribute [rw] policy_document
3419
+ # The policy document for this index policy, in JSON format.
3420
+ # @return [String]
3421
+ #
3422
+ # @!attribute [rw] policy_name
3423
+ # The name of this policy. Responses about log group-level field index
3424
+ # policies don't have this field, because those policies don't have
3425
+ # names.
3426
+ # @return [String]
3427
+ #
3428
+ # @!attribute [rw] source
3429
+ # This field indicates whether this is an account-level index policy
3430
+ # or an index policy that applies only to a single log group.
3431
+ # @return [String]
3432
+ #
3433
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/IndexPolicy AWS API Documentation
3434
+ #
3435
+ class IndexPolicy < Struct.new(
3436
+ :log_group_identifier,
3437
+ :last_update_time,
3438
+ :policy_document,
3439
+ :policy_name,
3440
+ :source)
3441
+ SENSITIVE = []
3442
+ include Aws::Structure
3443
+ end
3444
+
3445
+ # Represents a log event, which is a record of activity that was
3446
+ # recorded by the application or resource being monitored.
3447
+ #
3448
+ # @!attribute [rw] timestamp
3449
+ # The time the event occurred, expressed as the number of milliseconds
3450
+ # after `Jan 1, 1970 00:00:00 UTC`.
3451
+ # @return [Integer]
3452
+ #
3453
+ # @!attribute [rw] message
3454
+ # The raw event message. Each log event can be no larger than 256 KB.
3455
+ # @return [String]
3456
+ #
3457
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/InputLogEvent AWS API Documentation
3458
+ #
3459
+ class InputLogEvent < Struct.new(
3460
+ :timestamp,
3461
+ :message)
3462
+ SENSITIVE = []
3463
+ include Aws::Structure
3464
+ end
3465
+
3466
+ # The operation is not valid on the specified resource.
3467
+ #
3468
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/InvalidOperationException AWS API Documentation
3469
+ #
3470
+ class InvalidOperationException < Aws::EmptyStructure; end
3471
+
3472
+ # A parameter is specified incorrectly.
3473
+ #
3474
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/InvalidParameterException AWS API Documentation
3475
+ #
3476
+ class InvalidParameterException < Aws::EmptyStructure; end
3477
+
2949
3478
  # The sequence token is not valid. You can get the correct sequence
2950
3479
  # token in the `expectedSequenceToken` field in the
2951
3480
  # `InvalidSequenceTokenException` message.
@@ -3066,6 +3595,53 @@ module Aws::CloudWatchLogs
3066
3595
  include Aws::Structure
3067
3596
  end
3068
3597
 
3598
+ # @!attribute [rw] query_id
3599
+ # The ID of the query to use. This query ID is from the response to
3600
+ # your [StartQuery][1] operation.
3601
+ #
3602
+ #
3603
+ #
3604
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_StartQuery.html
3605
+ # @return [String]
3606
+ #
3607
+ # @!attribute [rw] next_token
3608
+ # The token for the next set of items to return. The token expires
3609
+ # after 24 hours.
3610
+ # @return [String]
3611
+ #
3612
+ # @!attribute [rw] max_results
3613
+ # Limits the number of returned log groups to the specified number.
3614
+ # @return [Integer]
3615
+ #
3616
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/ListLogGroupsForQueryRequest AWS API Documentation
3617
+ #
3618
+ class ListLogGroupsForQueryRequest < Struct.new(
3619
+ :query_id,
3620
+ :next_token,
3621
+ :max_results)
3622
+ SENSITIVE = []
3623
+ include Aws::Structure
3624
+ end
3625
+
3626
+ # @!attribute [rw] log_group_identifiers
3627
+ # An array of the names and ARNs of the log groups that were processed
3628
+ # in the query.
3629
+ # @return [Array<String>]
3630
+ #
3631
+ # @!attribute [rw] next_token
3632
+ # The token for the next set of items to return. The token expires
3633
+ # after 24 hours.
3634
+ # @return [String]
3635
+ #
3636
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/ListLogGroupsForQueryResponse AWS API Documentation
3637
+ #
3638
+ class ListLogGroupsForQueryResponse < Struct.new(
3639
+ :log_group_identifiers,
3640
+ :next_token)
3641
+ SENSITIVE = []
3642
+ include Aws::Structure
3643
+ end
3644
+
3069
3645
  # @!attribute [rw] resource_arn
3070
3646
  # The ARN of the resource that you want to view tags for.
3071
3647
  #
@@ -3127,6 +3703,62 @@ module Aws::CloudWatchLogs
3127
3703
  include Aws::Structure
3128
3704
  end
3129
3705
 
3706
+ # This processor takes a list of objects that contain key fields, and
3707
+ # converts them into a map of target keys.
3708
+ #
3709
+ # For more information about this processor including examples, see [
3710
+ # listToMap][1] in the *CloudWatch Logs User Guide*.
3711
+ #
3712
+ #
3713
+ #
3714
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-listToMap
3715
+ #
3716
+ # @!attribute [rw] source
3717
+ # The key in the log event that has a list of objects that will be
3718
+ # converted to a map.
3719
+ # @return [String]
3720
+ #
3721
+ # @!attribute [rw] key
3722
+ # The key of the field to be extracted as keys in the generated map
3723
+ # @return [String]
3724
+ #
3725
+ # @!attribute [rw] value_key
3726
+ # If this is specified, the values that you specify in this parameter
3727
+ # will be extracted from the `source` objects and put into the values
3728
+ # of the generated map. Otherwise, original objects in the source list
3729
+ # will be put into the values of the generated map.
3730
+ # @return [String]
3731
+ #
3732
+ # @!attribute [rw] target
3733
+ # The key of the field that will hold the generated map
3734
+ # @return [String]
3735
+ #
3736
+ # @!attribute [rw] flatten
3737
+ # A Boolean value to indicate whether the list will be flattened into
3738
+ # single items. Specify `true` to flatten the list. The default is
3739
+ # `false`
3740
+ # @return [Boolean]
3741
+ #
3742
+ # @!attribute [rw] flattened_element
3743
+ # If you set `flatten` to `true`, use `flattenedElement` to specify
3744
+ # which element, `first` or `last`, to keep.
3745
+ #
3746
+ # You must specify this parameter if `flatten` is `true`
3747
+ # @return [String]
3748
+ #
3749
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/ListToMap AWS API Documentation
3750
+ #
3751
+ class ListToMap < Struct.new(
3752
+ :source,
3753
+ :key,
3754
+ :value_key,
3755
+ :target,
3756
+ :flatten,
3757
+ :flattened_element)
3758
+ SENSITIVE = []
3759
+ include Aws::Structure
3760
+ end
3761
+
3130
3762
  # This object contains the information for one log event returned in a
3131
3763
  # Live Tail stream.
3132
3764
  #
@@ -3510,6 +4142,28 @@ module Aws::CloudWatchLogs
3510
4142
  include Aws::Structure
3511
4143
  end
3512
4144
 
4145
+ # This processor converts a string to lowercase.
4146
+ #
4147
+ # For more information about this processor including examples, see [
4148
+ # lowerCaseString][1] in the *CloudWatch Logs User Guide*.
4149
+ #
4150
+ #
4151
+ #
4152
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-lowerCaseString
4153
+ #
4154
+ # @!attribute [rw] with_keys
4155
+ # The array caontaining the keys of the fields to convert to
4156
+ # lowercase.
4157
+ # @return [Array<String>]
4158
+ #
4159
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/LowerCaseString AWS API Documentation
4160
+ #
4161
+ class LowerCaseString < Struct.new(
4162
+ :with_keys)
4163
+ SENSITIVE = []
4164
+ include Aws::Structure
4165
+ end
4166
+
3513
4167
  # The query string is not valid. Details about this error are displayed
3514
4168
  # in a `QueryCompileError` object. For more information, see
3515
4169
  # [QueryCompileError][1].
@@ -3562,6 +4216,20 @@ module Aws::CloudWatchLogs
3562
4216
  # The name of the log group.
3563
4217
  # @return [String]
3564
4218
  #
4219
+ # @!attribute [rw] apply_on_transformed_logs
4220
+ # This parameter is valid only for log groups that have an active log
4221
+ # transformer. For more information about log transformers, see
4222
+ # [PutTransformer][1].
4223
+ #
4224
+ # If this value is `true`, the metric filter is applied on the
4225
+ # transformed version of the log events instead of the original
4226
+ # ingested log events.
4227
+ #
4228
+ #
4229
+ #
4230
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutTransformer.html
4231
+ # @return [Boolean]
4232
+ #
3565
4233
  # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/MetricFilter AWS API Documentation
3566
4234
  #
3567
4235
  class MetricFilter < Struct.new(
@@ -3569,7 +4237,8 @@ module Aws::CloudWatchLogs
3569
4237
  :filter_pattern,
3570
4238
  :metric_transformations,
3571
4239
  :creation_time,
3572
- :log_group_name)
4240
+ :log_group_name,
4241
+ :apply_on_transformed_logs)
3573
4242
  SENSITIVE = []
3574
4243
  include Aws::Structure
3575
4244
  end
@@ -3668,6 +4337,59 @@ module Aws::CloudWatchLogs
3668
4337
  include Aws::Structure
3669
4338
  end
3670
4339
 
4340
+ # This object defines one key that will be moved with the [ moveKey][1]
4341
+ # processor.
4342
+ #
4343
+ #
4344
+ #
4345
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-moveKey
4346
+ #
4347
+ # @!attribute [rw] source
4348
+ # The key to move.
4349
+ # @return [String]
4350
+ #
4351
+ # @!attribute [rw] target
4352
+ # The key to move to.
4353
+ # @return [String]
4354
+ #
4355
+ # @!attribute [rw] overwrite_if_exists
4356
+ # Specifies whether to overwrite the value if the destination key
4357
+ # already exists. If you omit this, the default is `false`.
4358
+ # @return [Boolean]
4359
+ #
4360
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/MoveKeyEntry AWS API Documentation
4361
+ #
4362
+ class MoveKeyEntry < Struct.new(
4363
+ :source,
4364
+ :target,
4365
+ :overwrite_if_exists)
4366
+ SENSITIVE = []
4367
+ include Aws::Structure
4368
+ end
4369
+
4370
+ # This processor moves a key from one field to another. The original key
4371
+ # is deleted.
4372
+ #
4373
+ # For more information about this processor including examples, see [
4374
+ # moveKeys][1] in the *CloudWatch Logs User Guide*.
4375
+ #
4376
+ #
4377
+ #
4378
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-moveKeys
4379
+ #
4380
+ # @!attribute [rw] entries
4381
+ # An array of objects, where each object contains the information
4382
+ # about one key to move.
4383
+ # @return [Array<Types::MoveKeyEntry>]
4384
+ #
4385
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/MoveKeys AWS API Documentation
4386
+ #
4387
+ class MoveKeys < Struct.new(
4388
+ :entries)
4389
+ SENSITIVE = []
4390
+ include Aws::Structure
4391
+ end
4392
+
3671
4393
  # Multiple concurrent requests to update the same resource were in
3672
4394
  # conflict.
3673
4395
  #
@@ -3701,6 +4423,250 @@ module Aws::CloudWatchLogs
3701
4423
  include Aws::Structure
3702
4424
  end
3703
4425
 
4426
+ # This processor parses CloudFront vended logs, extract fields, and
4427
+ # convert them into JSON format. Encoded field values are decoded.
4428
+ # Values that are integers and doubles are treated as such. For more
4429
+ # information about this processor including examples, see [
4430
+ # parseCloudfront][1]
4431
+ #
4432
+ # For more information about CloudFront log format, see [ Configure and
4433
+ # use standard logs (access logs)][2].
4434
+ #
4435
+ # If you use this processor, it must be the first processor in your
4436
+ # transformer.
4437
+ #
4438
+ #
4439
+ #
4440
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-parseCloudfront
4441
+ # [2]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/AccessLogs.html
4442
+ #
4443
+ # @!attribute [rw] source
4444
+ # Omit this parameter and the whole log message will be processed by
4445
+ # this processor. No other value than `@message` is allowed for
4446
+ # `source`.
4447
+ # @return [String]
4448
+ #
4449
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/ParseCloudfront AWS API Documentation
4450
+ #
4451
+ class ParseCloudfront < Struct.new(
4452
+ :source)
4453
+ SENSITIVE = []
4454
+ include Aws::Structure
4455
+ end
4456
+
4457
+ # This processor parses log events that are in JSON format. It can
4458
+ # extract JSON key-value pairs and place them under a destination that
4459
+ # you specify.
4460
+ #
4461
+ # Additionally, because you must have at least one parse-type processor
4462
+ # in a transformer, you can use `ParseJSON` as that processor for
4463
+ # JSON-format logs, so that you can also apply other processors, such as
4464
+ # mutate processors, to these logs.
4465
+ #
4466
+ # For more information about this processor including examples, see [
4467
+ # parseJSON][1] in the *CloudWatch Logs User Guide*.
4468
+ #
4469
+ #
4470
+ #
4471
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-parseJSON
4472
+ #
4473
+ # @!attribute [rw] source
4474
+ # Path to the field in the log event that will be parsed. Use dot
4475
+ # notation to access child fields. For example, `store.book`
4476
+ # @return [String]
4477
+ #
4478
+ # @!attribute [rw] destination
4479
+ # The location to put the parsed key value pair into. If you omit this
4480
+ # parameter, it is placed under the root node.
4481
+ # @return [String]
4482
+ #
4483
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/ParseJSON AWS API Documentation
4484
+ #
4485
+ class ParseJSON < Struct.new(
4486
+ :source,
4487
+ :destination)
4488
+ SENSITIVE = []
4489
+ include Aws::Structure
4490
+ end
4491
+
4492
+ # This processor parses a specified field in the original log event into
4493
+ # key-value pairs.
4494
+ #
4495
+ # For more information about this processor including examples, see [
4496
+ # parseKeyValue][1] in the *CloudWatch Logs User Guide*.
4497
+ #
4498
+ #
4499
+ #
4500
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-parseKeyValue
4501
+ #
4502
+ # @!attribute [rw] source
4503
+ # Path to the field in the log event that will be parsed. Use dot
4504
+ # notation to access child fields. For example, `store.book`
4505
+ # @return [String]
4506
+ #
4507
+ # @!attribute [rw] destination
4508
+ # The destination field to put the extracted key-value pairs into
4509
+ # @return [String]
4510
+ #
4511
+ # @!attribute [rw] field_delimiter
4512
+ # The field delimiter string that is used between key-value pairs in
4513
+ # the original log events. If you omit this, the ampersand `&`
4514
+ # character is used.
4515
+ # @return [String]
4516
+ #
4517
+ # @!attribute [rw] key_value_delimiter
4518
+ # The delimiter string to use between the key and value in each pair
4519
+ # in the transformed log event.
4520
+ #
4521
+ # If you omit this, the equal `=` character is used.
4522
+ # @return [String]
4523
+ #
4524
+ # @!attribute [rw] key_prefix
4525
+ # If you want to add a prefix to all transformed keys, specify it
4526
+ # here.
4527
+ # @return [String]
4528
+ #
4529
+ # @!attribute [rw] non_match_value
4530
+ # A value to insert into the value field in the result, when a
4531
+ # key-value pair is not successfully split.
4532
+ # @return [String]
4533
+ #
4534
+ # @!attribute [rw] overwrite_if_exists
4535
+ # Specifies whether to overwrite the value if the destination key
4536
+ # already exists. If you omit this, the default is `false`.
4537
+ # @return [Boolean]
4538
+ #
4539
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/ParseKeyValue AWS API Documentation
4540
+ #
4541
+ class ParseKeyValue < Struct.new(
4542
+ :source,
4543
+ :destination,
4544
+ :field_delimiter,
4545
+ :key_value_delimiter,
4546
+ :key_prefix,
4547
+ :non_match_value,
4548
+ :overwrite_if_exists)
4549
+ SENSITIVE = []
4550
+ include Aws::Structure
4551
+ end
4552
+
4553
+ # Use this processor to parse RDS for PostgreSQL vended logs, extract
4554
+ # fields, and and convert them into a JSON format. This processor always
4555
+ # processes the entire log event message. For more information about
4556
+ # this processor including examples, see [ parsePostGres][1].
4557
+ #
4558
+ # For more information about RDS for PostgreSQL log format, see [ RDS
4559
+ # for PostgreSQL database log filesTCP flag sequence][2].
4560
+ #
4561
+ # If you use this processor, it must be the first processor in your
4562
+ # transformer.
4563
+ #
4564
+ #
4565
+ #
4566
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-parsePostGres
4567
+ # [2]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.Concepts.PostgreSQL.html#USER_LogAccess.Concepts.PostgreSQL.Log_Format.log-line-prefix
4568
+ #
4569
+ # @!attribute [rw] source
4570
+ # Omit this parameter and the whole log message will be processed by
4571
+ # this processor. No other value than `@message` is allowed for
4572
+ # `source`.
4573
+ # @return [String]
4574
+ #
4575
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/ParsePostgres AWS API Documentation
4576
+ #
4577
+ class ParsePostgres < Struct.new(
4578
+ :source)
4579
+ SENSITIVE = []
4580
+ include Aws::Structure
4581
+ end
4582
+
4583
+ # Use this processor to parse Route 53 vended logs, extract fields, and
4584
+ # and convert them into a JSON format. This processor always processes
4585
+ # the entire log event message. For more information about this
4586
+ # processor including examples, see [ parseRoute53][1].
4587
+ #
4588
+ # If you use this processor, it must be the first processor in your
4589
+ # transformer.
4590
+ #
4591
+ #
4592
+ #
4593
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-parseRoute53
4594
+ #
4595
+ # @!attribute [rw] source
4596
+ # Omit this parameter and the whole log message will be processed by
4597
+ # this processor. No other value than `@message` is allowed for
4598
+ # `source`.
4599
+ # @return [String]
4600
+ #
4601
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/ParseRoute53 AWS API Documentation
4602
+ #
4603
+ class ParseRoute53 < Struct.new(
4604
+ :source)
4605
+ SENSITIVE = []
4606
+ include Aws::Structure
4607
+ end
4608
+
4609
+ # Use this processor to parse Amazon VPC vended logs, extract fields,
4610
+ # and and convert them into a JSON format. This processor always
4611
+ # processes the entire log event message.
4612
+ #
4613
+ # This processor doesn't support custom log formats, such as NAT
4614
+ # gateway logs. For more information about custom log formats in Amazon
4615
+ # VPC, see [ parseVPC][1] For more information about this processor
4616
+ # including examples, see [ parseVPC][2].
4617
+ #
4618
+ # If you use this processor, it must be the first processor in your
4619
+ # transformer.
4620
+ #
4621
+ #
4622
+ #
4623
+ # [1]: https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs-records-examples.html#flow-log-example-tcp-flag
4624
+ # [2]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-parseVPC
4625
+ #
4626
+ # @!attribute [rw] source
4627
+ # Omit this parameter and the whole log message will be processed by
4628
+ # this processor. No other value than `@message` is allowed for
4629
+ # `source`.
4630
+ # @return [String]
4631
+ #
4632
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/ParseVPC AWS API Documentation
4633
+ #
4634
+ class ParseVPC < Struct.new(
4635
+ :source)
4636
+ SENSITIVE = []
4637
+ include Aws::Structure
4638
+ end
4639
+
4640
+ # Use this processor to parse WAF vended logs, extract fields, and and
4641
+ # convert them into a JSON format. This processor always processes the
4642
+ # entire log event message. For more information about this processor
4643
+ # including examples, see [ parseWAF][1].
4644
+ #
4645
+ # For more information about WAF log format, see [ Log examples for web
4646
+ # ACL traffic][2].
4647
+ #
4648
+ # If you use this processor, it must be the first processor in your
4649
+ # transformer.
4650
+ #
4651
+ #
4652
+ #
4653
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-parsePostGres
4654
+ # [2]: https://docs.aws.amazon.com/waf/latest/developerguide/logging-examples.html
4655
+ #
4656
+ # @!attribute [rw] source
4657
+ # Omit this parameter and the whole log message will be processed by
4658
+ # this processor. No other value than `@message` is allowed for
4659
+ # `source`.
4660
+ # @return [String]
4661
+ #
4662
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/ParseWAF AWS API Documentation
4663
+ #
4664
+ class ParseWAF < Struct.new(
4665
+ :source)
4666
+ SENSITIVE = []
4667
+ include Aws::Structure
4668
+ end
4669
+
3704
4670
  # A structure that contains information about one pattern token related
3705
4671
  # to an anomaly.
3706
4672
  #
@@ -3773,6 +4739,251 @@ module Aws::CloudWatchLogs
3773
4739
  include Aws::Structure
3774
4740
  end
3775
4741
 
4742
+ # This structure contains the information about one processor in a log
4743
+ # transformer.
4744
+ #
4745
+ # @!attribute [rw] add_keys
4746
+ # Use this parameter to include the [ addKeys][1] processor in your
4747
+ # transformer.
4748
+ #
4749
+ #
4750
+ #
4751
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-addKeys
4752
+ # @return [Types::AddKeys]
4753
+ #
4754
+ # @!attribute [rw] copy_value
4755
+ # Use this parameter to include the [ copyValue][1] processor in your
4756
+ # transformer.
4757
+ #
4758
+ #
4759
+ #
4760
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-copyValue
4761
+ # @return [Types::CopyValue]
4762
+ #
4763
+ # @!attribute [rw] csv
4764
+ # Use this parameter to include the [ CSV][1] processor in your
4765
+ # transformer.
4766
+ #
4767
+ #
4768
+ #
4769
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-CSV
4770
+ # @return [Types::CSV]
4771
+ #
4772
+ # @!attribute [rw] date_time_converter
4773
+ # Use this parameter to include the [ datetimeConverter][1] processor
4774
+ # in your transformer.
4775
+ #
4776
+ #
4777
+ #
4778
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-datetimeConverter
4779
+ # @return [Types::DateTimeConverter]
4780
+ #
4781
+ # @!attribute [rw] delete_keys
4782
+ # Use this parameter to include the [ deleteKeys][1] processor in your
4783
+ # transformer.
4784
+ #
4785
+ #
4786
+ #
4787
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-deleteKeys
4788
+ # @return [Types::DeleteKeys]
4789
+ #
4790
+ # @!attribute [rw] grok
4791
+ # Use this parameter to include the [ grok][1] processor in your
4792
+ # transformer.
4793
+ #
4794
+ #
4795
+ #
4796
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-grok
4797
+ # @return [Types::Grok]
4798
+ #
4799
+ # @!attribute [rw] list_to_map
4800
+ # Use this parameter to include the [ listToMap][1] processor in your
4801
+ # transformer.
4802
+ #
4803
+ #
4804
+ #
4805
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-listToMap
4806
+ # @return [Types::ListToMap]
4807
+ #
4808
+ # @!attribute [rw] lower_case_string
4809
+ # Use this parameter to include the [ lowerCaseString][1] processor in
4810
+ # your transformer.
4811
+ #
4812
+ #
4813
+ #
4814
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-lowerCaseString
4815
+ # @return [Types::LowerCaseString]
4816
+ #
4817
+ # @!attribute [rw] move_keys
4818
+ # Use this parameter to include the [ moveKeys][1] processor in your
4819
+ # transformer.
4820
+ #
4821
+ #
4822
+ #
4823
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-moveKeys
4824
+ # @return [Types::MoveKeys]
4825
+ #
4826
+ # @!attribute [rw] parse_cloudfront
4827
+ # Use this parameter to include the [ parseCloudfront][1] processor in
4828
+ # your transformer.
4829
+ #
4830
+ # If you use this processor, it must be the first processor in your
4831
+ # transformer.
4832
+ #
4833
+ #
4834
+ #
4835
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-parseCloudfront
4836
+ # @return [Types::ParseCloudfront]
4837
+ #
4838
+ # @!attribute [rw] parse_json
4839
+ # Use this parameter to include the [ parseJSON][1] processor in your
4840
+ # transformer.
4841
+ #
4842
+ #
4843
+ #
4844
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-parseJSON
4845
+ # @return [Types::ParseJSON]
4846
+ #
4847
+ # @!attribute [rw] parse_key_value
4848
+ # Use this parameter to include the [ parseKeyValue][1] processor in
4849
+ # your transformer.
4850
+ #
4851
+ #
4852
+ #
4853
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-parseKeyValue
4854
+ # @return [Types::ParseKeyValue]
4855
+ #
4856
+ # @!attribute [rw] parse_route_53
4857
+ # Use this parameter to include the [ parseRoute53][1] processor in
4858
+ # your transformer.
4859
+ #
4860
+ # If you use this processor, it must be the first processor in your
4861
+ # transformer.
4862
+ #
4863
+ #
4864
+ #
4865
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-parseRoute53
4866
+ # @return [Types::ParseRoute53]
4867
+ #
4868
+ # @!attribute [rw] parse_postgres
4869
+ # Use this parameter to include the [ parsePostGres][1] processor in
4870
+ # your transformer.
4871
+ #
4872
+ # If you use this processor, it must be the first processor in your
4873
+ # transformer.
4874
+ #
4875
+ #
4876
+ #
4877
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-parsePostGres
4878
+ # @return [Types::ParsePostgres]
4879
+ #
4880
+ # @!attribute [rw] parse_vpc
4881
+ # Use this parameter to include the [ parseVPC][1] processor in your
4882
+ # transformer.
4883
+ #
4884
+ # If you use this processor, it must be the first processor in your
4885
+ # transformer.
4886
+ #
4887
+ #
4888
+ #
4889
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-parseVPC
4890
+ # @return [Types::ParseVPC]
4891
+ #
4892
+ # @!attribute [rw] parse_waf
4893
+ # Use this parameter to include the [ parseWAF][1] processor in your
4894
+ # transformer.
4895
+ #
4896
+ # If you use this processor, it must be the first processor in your
4897
+ # transformer.
4898
+ #
4899
+ #
4900
+ #
4901
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-parseWAF
4902
+ # @return [Types::ParseWAF]
4903
+ #
4904
+ # @!attribute [rw] rename_keys
4905
+ # Use this parameter to include the [ renameKeys][1] processor in your
4906
+ # transformer.
4907
+ #
4908
+ #
4909
+ #
4910
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-renameKeys
4911
+ # @return [Types::RenameKeys]
4912
+ #
4913
+ # @!attribute [rw] split_string
4914
+ # Use this parameter to include the [ splitString][1] processor in
4915
+ # your transformer.
4916
+ #
4917
+ #
4918
+ #
4919
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-splitString
4920
+ # @return [Types::SplitString]
4921
+ #
4922
+ # @!attribute [rw] substitute_string
4923
+ # Use this parameter to include the [ substituteString][1] processor
4924
+ # in your transformer.
4925
+ #
4926
+ #
4927
+ #
4928
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-substituteString
4929
+ # @return [Types::SubstituteString]
4930
+ #
4931
+ # @!attribute [rw] trim_string
4932
+ # Use this parameter to include the [ trimString][1] processor in your
4933
+ # transformer.
4934
+ #
4935
+ #
4936
+ #
4937
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-trimString
4938
+ # @return [Types::TrimString]
4939
+ #
4940
+ # @!attribute [rw] type_converter
4941
+ # Use this parameter to include the [ typeConverter][1] processor in
4942
+ # your transformer.
4943
+ #
4944
+ #
4945
+ #
4946
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-typeConverter
4947
+ # @return [Types::TypeConverter]
4948
+ #
4949
+ # @!attribute [rw] upper_case_string
4950
+ # Use this parameter to include the [ upperCaseString][1] processor in
4951
+ # your transformer.
4952
+ #
4953
+ #
4954
+ #
4955
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-upperCaseString
4956
+ # @return [Types::UpperCaseString]
4957
+ #
4958
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/Processor AWS API Documentation
4959
+ #
4960
+ class Processor < Struct.new(
4961
+ :add_keys,
4962
+ :copy_value,
4963
+ :csv,
4964
+ :date_time_converter,
4965
+ :delete_keys,
4966
+ :grok,
4967
+ :list_to_map,
4968
+ :lower_case_string,
4969
+ :move_keys,
4970
+ :parse_cloudfront,
4971
+ :parse_json,
4972
+ :parse_key_value,
4973
+ :parse_route_53,
4974
+ :parse_postgres,
4975
+ :parse_vpc,
4976
+ :parse_waf,
4977
+ :rename_keys,
4978
+ :split_string,
4979
+ :substitute_string,
4980
+ :trim_string,
4981
+ :type_converter,
4982
+ :upper_case_string)
4983
+ SENSITIVE = []
4984
+ include Aws::Structure
4985
+ end
4986
+
3776
4987
  # @!attribute [rw] policy_name
3777
4988
  # A name for the policy. This must be unique within the account.
3778
4989
  # @return [String]
@@ -3848,16 +5059,40 @@ module Aws::CloudWatchLogs
3848
5059
  # * **FilterPattern** A filter pattern for subscribing to a filtered
3849
5060
  # stream of log events.
3850
5061
  #
3851
- # * **Distribution** The method used to distribute log data to the
3852
- # destination. By default, log data is grouped by log stream, but
3853
- # the grouping can be set to `Random` for a more even distribution.
3854
- # This property is only applicable when the destination is an
3855
- # Kinesis Data Streams data stream.
5062
+ # * **Distribution** The method used to distribute log data to the
5063
+ # destination. By default, log data is grouped by log stream, but
5064
+ # the grouping can be set to `Random` for a more even distribution.
5065
+ # This property is only applicable when the destination is an
5066
+ # Kinesis Data Streams data stream.
5067
+ #
5068
+ # **Transformer policy**
5069
+ #
5070
+ # A transformer policy must include one JSON block with the array of
5071
+ # processors and their configurations. For more information about
5072
+ # available processors, see [ Processors that you can use][3].
5073
+ #
5074
+ # **Field index policy**
5075
+ #
5076
+ # A field index filter policy can include the following attribute in a
5077
+ # JSON block:
5078
+ #
5079
+ # * **Fields** The array of field indexes to create.
5080
+ #
5081
+ # ^
5082
+ #
5083
+ # It must contain at least one field index.
5084
+ #
5085
+ # The following is an example of an index policy document that creates
5086
+ # two indexes, `RequestId` and `TransactionId`.
5087
+ #
5088
+ # `"policyDocument": "{ "Fields": [ "RequestId", "TransactionId"
5089
+ # ] }"`
3856
5090
  #
3857
5091
  #
3858
5092
  #
3859
5093
  # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/mask-sensitive-log-data-types.html
3860
5094
  # [2]: https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutDestination.html
5095
+ # [3]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-Processors
3861
5096
  # @return [String]
3862
5097
  #
3863
5098
  # @!attribute [rw] policy_type
@@ -3872,18 +5107,25 @@ module Aws::CloudWatchLogs
3872
5107
  # @return [String]
3873
5108
  #
3874
5109
  # @!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.
5110
+ # Use this parameter to apply the new policy to a subset of log groups
5111
+ # in the account.
5112
+ #
5113
+ # Specifing `selectionCriteria` is valid only when you specify
5114
+ # `SUBSCRIPTION_FILTER_POLICY`, `FIELD_INDEX_POLICY` or
5115
+ # `TRANSFORMER_POLICY`for `policyType`.
5116
+ #
5117
+ # If `policyType` is `SUBSCRIPTION_FILTER_POLICY`, the only supported
5118
+ # `selectionCriteria` filter is `LogGroupName NOT IN []`
3880
5119
  #
3881
- # Using the `selectionCriteria` parameter is useful to help prevent
3882
- # infinite loops. For more information, see [Log recursion
3883
- # prevention][1].
5120
+ # If `policyType` is `FIELD_INDEX_POLICY` or `TRANSFORMER_POLICY`, the
5121
+ # only supported `selectionCriteria` filter is `LogGroupNamePrefix`
3884
5122
  #
3885
- # Specifing `selectionCriteria` is valid only when you specify `
3886
- # SUBSCRIPTION_FILTER_POLICY` for `policyType`.
5123
+ # The `selectionCriteria` string can be up to 25KB in length. The
5124
+ # length is determined by using its UTF-8 bytes.
5125
+ #
5126
+ # Using the `selectionCriteria` parameter with
5127
+ # `SUBSCRIPTION_FILTER_POLICY` is useful to help prevent infinite
5128
+ # loops. For more information, see [Log recursion prevention][1].
3887
5129
  #
3888
5130
  #
3889
5131
  #
@@ -4220,6 +5462,50 @@ module Aws::CloudWatchLogs
4220
5462
  include Aws::Structure
4221
5463
  end
4222
5464
 
5465
+ # @!attribute [rw] log_group_identifier
5466
+ # Specify either the log group name or log group ARN to apply this
5467
+ # field index policy to. If you specify an ARN, use the format
5468
+ # arn:aws:logs:*region*:*account-id*:log-group:*log\_group\_name*
5469
+ # Don't include an * at the end.
5470
+ # @return [String]
5471
+ #
5472
+ # @!attribute [rw] policy_document
5473
+ # The index policy document, in JSON format. The following is an
5474
+ # example of an index policy document that creates two indexes,
5475
+ # `RequestId` and `TransactionId`.
5476
+ #
5477
+ # `"policyDocument": "{ "Fields": [ "RequestId", "TransactionId" ] }"`
5478
+ #
5479
+ # The policy document must include at least one field index. For more
5480
+ # information about the fields that can be included and other
5481
+ # restrictions, see [Field index syntax and quotas][1].
5482
+ #
5483
+ #
5484
+ #
5485
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatchLogs-Field-Indexing-Syntax.html
5486
+ # @return [String]
5487
+ #
5488
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/PutIndexPolicyRequest AWS API Documentation
5489
+ #
5490
+ class PutIndexPolicyRequest < Struct.new(
5491
+ :log_group_identifier,
5492
+ :policy_document)
5493
+ SENSITIVE = []
5494
+ include Aws::Structure
5495
+ end
5496
+
5497
+ # @!attribute [rw] index_policy
5498
+ # The index policy that you just created or updated.
5499
+ # @return [Types::IndexPolicy]
5500
+ #
5501
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/PutIndexPolicyResponse AWS API Documentation
5502
+ #
5503
+ class PutIndexPolicyResponse < Struct.new(
5504
+ :index_policy)
5505
+ SENSITIVE = []
5506
+ include Aws::Structure
5507
+ end
5508
+
4223
5509
  # @!attribute [rw] log_group_name
4224
5510
  # The name of the log group.
4225
5511
  # @return [String]
@@ -4243,7 +5529,7 @@ module Aws::CloudWatchLogs
4243
5529
  # @return [String]
4244
5530
  #
4245
5531
  # @!attribute [rw] entity
4246
- # Reserved for internal use.
5532
+ # The entity associated with the log events.
4247
5533
  # @return [Types::Entity]
4248
5534
  #
4249
5535
  # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/PutLogEventsRequest AWS API Documentation
@@ -4276,7 +5562,12 @@ module Aws::CloudWatchLogs
4276
5562
  # @return [Types::RejectedLogEventsInfo]
4277
5563
  #
4278
5564
  # @!attribute [rw] rejected_entity_info
4279
- # Reserved for internal use.
5565
+ # Information about why the entity is rejected when calling
5566
+ # `PutLogEvents`. Only returned when the entity is rejected.
5567
+ #
5568
+ # <note markdown="1"> When the entity is rejected, the events may still be accepted.
5569
+ #
5570
+ # </note>
4280
5571
  # @return [Types::RejectedEntityInfo]
4281
5572
  #
4282
5573
  # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/PutLogEventsResponse AWS API Documentation
@@ -4307,13 +5598,29 @@ module Aws::CloudWatchLogs
4307
5598
  # emitted.
4308
5599
  # @return [Array<Types::MetricTransformation>]
4309
5600
  #
5601
+ # @!attribute [rw] apply_on_transformed_logs
5602
+ # This parameter is valid only for log groups that have an active log
5603
+ # transformer. For more information about log transformers, see
5604
+ # [PutTransformer][1].
5605
+ #
5606
+ # If the log group uses either a log-group level or account-level
5607
+ # transformer, and you specify `true`, the metric filter will be
5608
+ # applied on the transformed version of the log events instead of the
5609
+ # original ingested log events.
5610
+ #
5611
+ #
5612
+ #
5613
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutTransformer.html
5614
+ # @return [Boolean]
5615
+ #
4310
5616
  # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/PutMetricFilterRequest AWS API Documentation
4311
5617
  #
4312
5618
  class PutMetricFilterRequest < Struct.new(
4313
5619
  :log_group_name,
4314
5620
  :filter_name,
4315
5621
  :filter_pattern,
4316
- :metric_transformations)
5622
+ :metric_transformations,
5623
+ :apply_on_transformed_logs)
4317
5624
  SENSITIVE = []
4318
5625
  include Aws::Structure
4319
5626
  end
@@ -4538,6 +5845,21 @@ module Aws::CloudWatchLogs
4538
5845
  # applicable when the destination is an Amazon Kinesis data stream.
4539
5846
  # @return [String]
4540
5847
  #
5848
+ # @!attribute [rw] apply_on_transformed_logs
5849
+ # This parameter is valid only for log groups that have an active log
5850
+ # transformer. For more information about log transformers, see
5851
+ # [PutTransformer][1].
5852
+ #
5853
+ # If the log group uses either a log-group level or account-level
5854
+ # transformer, and you specify `true`, the subscription filter will be
5855
+ # applied on the transformed version of the log events instead of the
5856
+ # original ingested log events.
5857
+ #
5858
+ #
5859
+ #
5860
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutTransformer.html
5861
+ # @return [Boolean]
5862
+ #
4541
5863
  # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/PutSubscriptionFilterRequest AWS API Documentation
4542
5864
  #
4543
5865
  class PutSubscriptionFilterRequest < Struct.new(
@@ -4546,7 +5868,29 @@ module Aws::CloudWatchLogs
4546
5868
  :filter_pattern,
4547
5869
  :destination_arn,
4548
5870
  :role_arn,
4549
- :distribution)
5871
+ :distribution,
5872
+ :apply_on_transformed_logs)
5873
+ SENSITIVE = []
5874
+ include Aws::Structure
5875
+ end
5876
+
5877
+ # @!attribute [rw] log_group_identifier
5878
+ # Specify either the name or ARN of the log group to create the
5879
+ # transformer for.
5880
+ # @return [String]
5881
+ #
5882
+ # @!attribute [rw] transformer_config
5883
+ # This structure contains the configuration of this log transformer. A
5884
+ # log transformer is an array of processors, where each processor
5885
+ # applies one type of transformation to the log events that are
5886
+ # ingested.
5887
+ # @return [Array<Types::Processor>]
5888
+ #
5889
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/PutTransformerRequest AWS API Documentation
5890
+ #
5891
+ class PutTransformerRequest < Struct.new(
5892
+ :log_group_identifier,
5893
+ :transformer_config)
4550
5894
  SENSITIVE = []
4551
5895
  include Aws::Structure
4552
5896
  end
@@ -4670,6 +6014,17 @@ module Aws::CloudWatchLogs
4670
6014
  # log events that matched the query criteria, and the total number of
4671
6015
  # bytes in the log events that were scanned.
4672
6016
  #
6017
+ # If the query involved log groups that have field index policies, the
6018
+ # estimated number of skipped log events and the total bytes of those
6019
+ # skipped log events are included. Using field indexes to skip log
6020
+ # events in queries reduces scan volume and improves performance. For
6021
+ # more information, see [Create field indexes to improve query
6022
+ # performance and reduce scan volume][1].
6023
+ #
6024
+ #
6025
+ #
6026
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatchLogs-Field-Indexing.html
6027
+ #
4673
6028
  # @!attribute [rw] records_matched
4674
6029
  # The number of log events that matched the query string.
4675
6030
  # @return [Float]
@@ -4678,17 +6033,48 @@ module Aws::CloudWatchLogs
4678
6033
  # The total number of log events scanned during the query.
4679
6034
  # @return [Float]
4680
6035
  #
6036
+ # @!attribute [rw] estimated_records_skipped
6037
+ # An estimate of the number of log events that were skipped when
6038
+ # processing this query, because the query contained an indexed field.
6039
+ # Skipping these entries lowers query costs and improves the query
6040
+ # performance time. For more information about field indexes, see
6041
+ # [PutIndexPolicy][1].
6042
+ #
6043
+ #
6044
+ #
6045
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutIndexPolicy.html
6046
+ # @return [Float]
6047
+ #
4681
6048
  # @!attribute [rw] bytes_scanned
4682
6049
  # The total number of bytes in the log events scanned during the
4683
6050
  # query.
4684
6051
  # @return [Float]
4685
6052
  #
6053
+ # @!attribute [rw] estimated_bytes_skipped
6054
+ # An estimate of the number of bytes in the log events that were
6055
+ # skipped when processing this query, because the query contained an
6056
+ # indexed field. Skipping these entries lowers query costs and
6057
+ # improves the query performance time. For more information about
6058
+ # field indexes, see [PutIndexPolicy][1].
6059
+ #
6060
+ #
6061
+ #
6062
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutIndexPolicy.html
6063
+ # @return [Float]
6064
+ #
6065
+ # @!attribute [rw] log_groups_scanned
6066
+ # The number of log groups that were scanned by this query.
6067
+ # @return [Float]
6068
+ #
4686
6069
  # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/QueryStatistics AWS API Documentation
4687
6070
  #
4688
6071
  class QueryStatistics < Struct.new(
4689
6072
  :records_matched,
4690
6073
  :records_scanned,
4691
- :bytes_scanned)
6074
+ :estimated_records_skipped,
6075
+ :bytes_scanned,
6076
+ :estimated_bytes_skipped,
6077
+ :log_groups_scanned)
4692
6078
  SENSITIVE = []
4693
6079
  include Aws::Structure
4694
6080
  end
@@ -4726,10 +6112,12 @@ module Aws::CloudWatchLogs
4726
6112
  include Aws::Structure
4727
6113
  end
4728
6114
 
4729
- # Reserved for internal use.
6115
+ # If an entity is rejected when a `PutLogEvents` request was made, this
6116
+ # includes details about the reason for the rejection.
4730
6117
  #
4731
6118
  # @!attribute [rw] error_type
4732
- # Reserved for internal use.
6119
+ # The type of error that caused the rejection of the entity when
6120
+ # calling `PutLogEvents`.
4733
6121
  # @return [String]
4734
6122
  #
4735
6123
  # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/RejectedEntityInfo AWS API Documentation
@@ -4766,6 +6154,58 @@ module Aws::CloudWatchLogs
4766
6154
  include Aws::Structure
4767
6155
  end
4768
6156
 
6157
+ # This object defines one key that will be renamed with the [
6158
+ # renameKey][1] processor.
6159
+ #
6160
+ #
6161
+ #
6162
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-renameKey
6163
+ #
6164
+ # @!attribute [rw] key
6165
+ # The key to rename
6166
+ # @return [String]
6167
+ #
6168
+ # @!attribute [rw] rename_to
6169
+ # The string to use for the new key name
6170
+ # @return [String]
6171
+ #
6172
+ # @!attribute [rw] overwrite_if_exists
6173
+ # Specifies whether to overwrite the existing value if the destination
6174
+ # key already exists. The default is `false`
6175
+ # @return [Boolean]
6176
+ #
6177
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/RenameKeyEntry AWS API Documentation
6178
+ #
6179
+ class RenameKeyEntry < Struct.new(
6180
+ :key,
6181
+ :rename_to,
6182
+ :overwrite_if_exists)
6183
+ SENSITIVE = []
6184
+ include Aws::Structure
6185
+ end
6186
+
6187
+ # Use this processor to rename keys in a log event.
6188
+ #
6189
+ # For more information about this processor including examples, see [
6190
+ # renameKeys][1] in the *CloudWatch Logs User Guide*.
6191
+ #
6192
+ #
6193
+ #
6194
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-renameKeys
6195
+ #
6196
+ # @!attribute [rw] entries
6197
+ # An array of `RenameKeyEntry` objects, where each object contains the
6198
+ # information about a single key to rename.
6199
+ # @return [Array<Types::RenameKeyEntry>]
6200
+ #
6201
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/RenameKeys AWS API Documentation
6202
+ #
6203
+ class RenameKeys < Struct.new(
6204
+ :entries)
6205
+ SENSITIVE = []
6206
+ include Aws::Structure
6207
+ end
6208
+
4769
6209
  # The specified resource already exists.
4770
6210
  #
4771
6211
  # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/ResourceAlreadyExistsException AWS API Documentation
@@ -4917,6 +6357,53 @@ module Aws::CloudWatchLogs
4917
6357
  include Aws::Structure
4918
6358
  end
4919
6359
 
6360
+ # Use this processor to split a field into an array of strings using a
6361
+ # delimiting character.
6362
+ #
6363
+ # For more information about this processor including examples, see [
6364
+ # splitString][1] in the *CloudWatch Logs User Guide*.
6365
+ #
6366
+ #
6367
+ #
6368
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-splitString
6369
+ #
6370
+ # @!attribute [rw] entries
6371
+ # An array of `SplitStringEntry` objects, where each object contains
6372
+ # the information about one field to split.
6373
+ # @return [Array<Types::SplitStringEntry>]
6374
+ #
6375
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/SplitString AWS API Documentation
6376
+ #
6377
+ class SplitString < Struct.new(
6378
+ :entries)
6379
+ SENSITIVE = []
6380
+ include Aws::Structure
6381
+ end
6382
+
6383
+ # This object defines one log field that will be split with the [
6384
+ # splitString][1] processor.
6385
+ #
6386
+ #
6387
+ #
6388
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-splitString
6389
+ #
6390
+ # @!attribute [rw] source
6391
+ # The key of the field to split.
6392
+ # @return [String]
6393
+ #
6394
+ # @!attribute [rw] delimiter
6395
+ # The separator characters to split the string entry on.
6396
+ # @return [String]
6397
+ #
6398
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/SplitStringEntry AWS API Documentation
6399
+ #
6400
+ class SplitStringEntry < Struct.new(
6401
+ :source,
6402
+ :delimiter)
6403
+ SENSITIVE = []
6404
+ include Aws::Structure
6405
+ end
6406
+
4920
6407
  # @!attribute [rw] log_group_identifiers
4921
6408
  # An array where each item in the array is a log group to include in
4922
6409
  # the Live Tail session.
@@ -4999,23 +6486,11 @@ module Aws::CloudWatchLogs
4999
6486
 
5000
6487
  # @!attribute [rw] log_group_name
5001
6488
  # The log group on which to perform the query.
5002
- #
5003
- # <note markdown="1"> A `StartQuery` operation must include exactly one of the following
5004
- # parameters: `logGroupName`, `logGroupNames`, or
5005
- # `logGroupIdentifiers`.
5006
- #
5007
- # </note>
5008
6489
  # @return [String]
5009
6490
  #
5010
6491
  # @!attribute [rw] log_group_names
5011
6492
  # The list of log groups to be queried. You can include up to 50 log
5012
6493
  # groups.
5013
- #
5014
- # <note markdown="1"> A `StartQuery` operation must include exactly one of the following
5015
- # parameters: `logGroupName`, `logGroupNames`, or
5016
- # `logGroupIdentifiers`.
5017
- #
5018
- # </note>
5019
6494
  # @return [Array<String>]
5020
6495
  #
5021
6496
  # @!attribute [rw] log_group_identifiers
@@ -5027,7 +6502,9 @@ module Aws::CloudWatchLogs
5027
6502
  # monitoring account, you must specify the ARN of the log group here.
5028
6503
  # The query definition must also be defined in the monitoring account.
5029
6504
  #
5030
- # If you specify an ARN, the ARN can't end with an asterisk (*).
6505
+ # If you specify an ARN, use the format
6506
+ # arn:aws:logs:*region*:*account-id*:log-group:*log\_group\_name*
6507
+ # Don't include an * at the end.
5031
6508
  #
5032
6509
  # A `StartQuery` operation must include exactly one of the following
5033
6510
  # parameters: `logGroupName`, `logGroupNames`, or
@@ -5142,6 +6619,20 @@ module Aws::CloudWatchLogs
5142
6619
  # be either random or grouped by log stream.
5143
6620
  # @return [String]
5144
6621
  #
6622
+ # @!attribute [rw] apply_on_transformed_logs
6623
+ # This parameter is valid only for log groups that have an active log
6624
+ # transformer. For more information about log transformers, see
6625
+ # [PutTransformer][1].
6626
+ #
6627
+ # If this value is `true`, the subscription filter is applied on the
6628
+ # transformed version of the log events instead of the original
6629
+ # ingested log events.
6630
+ #
6631
+ #
6632
+ #
6633
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutTransformer.html
6634
+ # @return [Boolean]
6635
+ #
5145
6636
  # @!attribute [rw] creation_time
5146
6637
  # The creation time of the subscription filter, expressed as the
5147
6638
  # number of milliseconds after `Jan 1, 1970 00:00:00 UTC`.
@@ -5156,11 +6647,71 @@ module Aws::CloudWatchLogs
5156
6647
  :destination_arn,
5157
6648
  :role_arn,
5158
6649
  :distribution,
6650
+ :apply_on_transformed_logs,
5159
6651
  :creation_time)
5160
6652
  SENSITIVE = []
5161
6653
  include Aws::Structure
5162
6654
  end
5163
6655
 
6656
+ # This processor matches a key’s value against a regular expression and
6657
+ # replaces all matches with a replacement string.
6658
+ #
6659
+ # For more information about this processor including examples, see [
6660
+ # substituteString][1] in the *CloudWatch Logs User Guide*.
6661
+ #
6662
+ #
6663
+ #
6664
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-substituteString
6665
+ #
6666
+ # @!attribute [rw] entries
6667
+ # An array of objects, where each object contains the information
6668
+ # about one key to match and replace.
6669
+ # @return [Array<Types::SubstituteStringEntry>]
6670
+ #
6671
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/SubstituteString AWS API Documentation
6672
+ #
6673
+ class SubstituteString < Struct.new(
6674
+ :entries)
6675
+ SENSITIVE = []
6676
+ include Aws::Structure
6677
+ end
6678
+
6679
+ # This object defines one log field key that will be replaced using the
6680
+ # [ substituteString][1] processor.
6681
+ #
6682
+ #
6683
+ #
6684
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-substituteString
6685
+ #
6686
+ # @!attribute [rw] source
6687
+ # The key to modify
6688
+ # @return [String]
6689
+ #
6690
+ # @!attribute [rw] from
6691
+ # The regular expression string to be replaced. Special regex
6692
+ # characters such as \[ and \] must be escaped using \\\\ when using
6693
+ # double quotes and with \\ when using single quotes. For more
6694
+ # information, see [ Class Pattern][1] on the Oracle web site.
6695
+ #
6696
+ #
6697
+ #
6698
+ # [1]: https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/regex/Pattern.html
6699
+ # @return [String]
6700
+ #
6701
+ # @!attribute [rw] to
6702
+ # The string to be substituted for each match of `from`
6703
+ # @return [String]
6704
+ #
6705
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/SubstituteStringEntry AWS API Documentation
6706
+ #
6707
+ class SubstituteStringEntry < Struct.new(
6708
+ :source,
6709
+ :from,
6710
+ :to)
6711
+ SENSITIVE = []
6712
+ include Aws::Structure
6713
+ end
6714
+
5164
6715
  # If you are suppressing an anomaly temporariliy, this structure defines
5165
6716
  # how long the suppression period is to be.
5166
6717
  #
@@ -5262,6 +6813,41 @@ module Aws::CloudWatchLogs
5262
6813
  include Aws::Structure
5263
6814
  end
5264
6815
 
6816
+ # @!attribute [rw] transformer_config
6817
+ # This structure contains the configuration of this log transformer
6818
+ # that you want to test. A log transformer is an array of processors,
6819
+ # where each processor applies one type of transformation to the log
6820
+ # events that are ingested.
6821
+ # @return [Array<Types::Processor>]
6822
+ #
6823
+ # @!attribute [rw] log_event_messages
6824
+ # An array of the raw log events that you want to use to test this
6825
+ # transformer.
6826
+ # @return [Array<String>]
6827
+ #
6828
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/TestTransformerRequest AWS API Documentation
6829
+ #
6830
+ class TestTransformerRequest < Struct.new(
6831
+ :transformer_config,
6832
+ :log_event_messages)
6833
+ SENSITIVE = []
6834
+ include Aws::Structure
6835
+ end
6836
+
6837
+ # @!attribute [rw] transformed_logs
6838
+ # An array where each member of the array includes both the original
6839
+ # version and the transformed version of one of the log events that
6840
+ # you input.
6841
+ # @return [Array<Types::TransformedLogRecord>]
6842
+ #
6843
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/TestTransformerResponse AWS API Documentation
6844
+ #
6845
+ class TestTransformerResponse < Struct.new(
6846
+ :transformed_logs)
6847
+ SENSITIVE = []
6848
+ include Aws::Structure
6849
+ end
6850
+
5265
6851
  # The request was throttled because of quota limits.
5266
6852
  #
5267
6853
  # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/ThrottlingException AWS API Documentation
@@ -5286,6 +6872,103 @@ module Aws::CloudWatchLogs
5286
6872
  include Aws::Structure
5287
6873
  end
5288
6874
 
6875
+ # This structure contains information for one log event that has been
6876
+ # processed by a log transformer.
6877
+ #
6878
+ # @!attribute [rw] event_number
6879
+ # The event number.
6880
+ # @return [Integer]
6881
+ #
6882
+ # @!attribute [rw] event_message
6883
+ # The original log event message before it was transformed.
6884
+ # @return [String]
6885
+ #
6886
+ # @!attribute [rw] transformed_event_message
6887
+ # The log event message after being transformed.
6888
+ # @return [String]
6889
+ #
6890
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/TransformedLogRecord AWS API Documentation
6891
+ #
6892
+ class TransformedLogRecord < Struct.new(
6893
+ :event_number,
6894
+ :event_message,
6895
+ :transformed_event_message)
6896
+ SENSITIVE = []
6897
+ include Aws::Structure
6898
+ end
6899
+
6900
+ # Use this processor to remove leading and trailing whitespace.
6901
+ #
6902
+ # For more information about this processor including examples, see [
6903
+ # trimString][1] in the *CloudWatch Logs User Guide*.
6904
+ #
6905
+ #
6906
+ #
6907
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-trimString
6908
+ #
6909
+ # @!attribute [rw] with_keys
6910
+ # The array containing the keys of the fields to trim.
6911
+ # @return [Array<String>]
6912
+ #
6913
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/TrimString AWS API Documentation
6914
+ #
6915
+ class TrimString < Struct.new(
6916
+ :with_keys)
6917
+ SENSITIVE = []
6918
+ include Aws::Structure
6919
+ end
6920
+
6921
+ # Use this processor to convert a value type associated with the
6922
+ # specified key to the specified type. It's a casting processor that
6923
+ # changes the types of the specified fields. Values can be converted
6924
+ # into one of the following datatypes: `integer`, `double`, `string` and
6925
+ # `boolean`.
6926
+ #
6927
+ # For more information about this processor including examples, see [
6928
+ # trimString][1] in the *CloudWatch Logs User Guide*.
6929
+ #
6930
+ #
6931
+ #
6932
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-trimString
6933
+ #
6934
+ # @!attribute [rw] entries
6935
+ # An array of `TypeConverterEntry` objects, where each object contains
6936
+ # the information about one field to change the type of.
6937
+ # @return [Array<Types::TypeConverterEntry>]
6938
+ #
6939
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/TypeConverter AWS API Documentation
6940
+ #
6941
+ class TypeConverter < Struct.new(
6942
+ :entries)
6943
+ SENSITIVE = []
6944
+ include Aws::Structure
6945
+ end
6946
+
6947
+ # This object defines one value type that will be converted using the [
6948
+ # typeConverter][1] processor.
6949
+ #
6950
+ #
6951
+ #
6952
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-typeConverter
6953
+ #
6954
+ # @!attribute [rw] key
6955
+ # The key with the value that is to be converted to a different type.
6956
+ # @return [String]
6957
+ #
6958
+ # @!attribute [rw] type
6959
+ # The type to convert the field value to. Valid values are `integer`,
6960
+ # `double`, `string` and `boolean`.
6961
+ # @return [String]
6962
+ #
6963
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/TypeConverterEntry AWS API Documentation
6964
+ #
6965
+ class TypeConverterEntry < Struct.new(
6966
+ :key,
6967
+ :type)
6968
+ SENSITIVE = []
6969
+ include Aws::Structure
6970
+ end
6971
+
5289
6972
  # The most likely cause is an Amazon Web Services access key ID or
5290
6973
  # secret key that's not valid.
5291
6974
  #
@@ -5479,6 +7162,28 @@ module Aws::CloudWatchLogs
5479
7162
  include Aws::Structure
5480
7163
  end
5481
7164
 
7165
+ # This processor converts a string field to uppercase.
7166
+ #
7167
+ # For more information about this processor including examples, see [
7168
+ # upperCaseString][1] in the *CloudWatch Logs User Guide*.
7169
+ #
7170
+ #
7171
+ #
7172
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-upperCaseString
7173
+ #
7174
+ # @!attribute [rw] with_keys
7175
+ # The array of containing the keys of the field to convert to
7176
+ # uppercase.
7177
+ # @return [Array<String>]
7178
+ #
7179
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/UpperCaseString AWS API Documentation
7180
+ #
7181
+ class UpperCaseString < Struct.new(
7182
+ :with_keys)
7183
+ SENSITIVE = []
7184
+ include Aws::Structure
7185
+ end
7186
+
5482
7187
  # One of the parameters for the request is not valid.
5483
7188
  #
5484
7189
  # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/ValidationException AWS API Documentation