aws-sdk-cloudwatchlogs 1.102.0 → 1.103.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,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