aws-sdk-cloudwatchlogs 1.170.0 → 1.171.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 45b7e895ef6345e84e37aafd10c52cb3ea79d4acf2d11dbfd000a9490503ad87
4
- data.tar.gz: 1f76b3a7d2e18822583cf33b448c43f0510c9f5bd4a528389a3666867460bd47
3
+ metadata.gz: a9d5306cd1e60d60f9117c6f54e41edb8a89270c70cac6f799d29745b0af24cc
4
+ data.tar.gz: 9d38a744223bf80a4df1ec845b08971b1ae9e151abb83f07df303beeb23a8ce6
5
5
  SHA512:
6
- metadata.gz: af91ddd2440e85dca93fe2e47ee4d708174cdf0773ceea44cf94987952e1735e27a0b3c0e6a341ea6397b3509ad7f8d468e10894ac0dea679bdf48203e86e400
7
- data.tar.gz: 9a6a78266c3b24f658ef3140a84100186ea0f700d711f30380c77fef6b2242f8fd08b67b7d9a18aa5c1ad18f9e406d44d9408d7c4c4e144ed9762ad46a892a03
6
+ metadata.gz: a104646ce4558fb323135a13c0d9fac486b123b1f04ad6bc5916fcba2ae95b152c7fbffc34a1fefaf6c62cc871057af953dd50b99b385d4bcfe007f3e31407be
7
+ data.tar.gz: 4349c4e1a5b1c1e64c943e358bdef16ef97e8e87be486603004960a39140911a73391d11ace7aa45992c07dc82e5347cb7d82d80af3d5a5fc8cb1811fd0460c5
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.171.0 (2026-10-30)
5
+ ------------------
6
+
7
+ * Feature - Adds support for account-level retention policies in Amazon CloudWatch Logs. Customers can now use PutAccountPolicy with the new RETENTION POLICY type to set default log retention across all log groups in an account. Includes dry-run mode to preview the impact of policy changes before applying them.
8
+
4
9
  1.170.0 (2026-10-29)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.170.0
1
+ 1.171.0
@@ -1596,15 +1596,41 @@ module Aws::CloudWatchLogs
1596
1596
  # @option params [required, String] :policy_type
1597
1597
  # The type of policy to delete.
1598
1598
  #
1599
- # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1599
+ # @option params [Boolean] :dry_run
1600
+ # Specifies whether to preview the impact of deleting the policy without
1601
+ # deleting it. If you specify `true`, CloudWatch Logs does not delete
1602
+ # the policy and returns the estimated impact in `dryRunResult`. The
1603
+ # default is `false`.
1604
+ #
1605
+ # Specifying `dryRun` is valid only when you specify `RETENTION_POLICY`
1606
+ # for `policyType`. Only one dry run can be in progress for an account
1607
+ # at a time.
1608
+ #
1609
+ # @return [Types::DeleteAccountPolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1610
+ #
1611
+ # * {Types::DeleteAccountPolicyResponse#dry_run_result #dry_run_result} => Types::DryRunResult
1600
1612
  #
1601
1613
  # @example Request syntax with placeholder values
1602
1614
  #
1603
1615
  # resp = client.delete_account_policy({
1604
1616
  # policy_name: "PolicyName", # required
1605
- # policy_type: "DATA_PROTECTION_POLICY", # required, accepts DATA_PROTECTION_POLICY, SUBSCRIPTION_FILTER_POLICY, FIELD_INDEX_POLICY, TRANSFORMER_POLICY, METRIC_EXTRACTION_POLICY
1617
+ # policy_type: "DATA_PROTECTION_POLICY", # required, accepts DATA_PROTECTION_POLICY, SUBSCRIPTION_FILTER_POLICY, FIELD_INDEX_POLICY, TRANSFORMER_POLICY, METRIC_EXTRACTION_POLICY, RETENTION_POLICY
1618
+ # dry_run: false,
1606
1619
  # })
1607
1620
  #
1621
+ # @example Response structure
1622
+ #
1623
+ # resp.dry_run_result.total_matched_log_groups #=> Integer
1624
+ # resp.dry_run_result.increased_retention_log_group_count #=> Integer
1625
+ # resp.dry_run_result.decreased_retention_log_group_count #=> Integer
1626
+ # resp.dry_run_result.unchanged_retention_log_group_count #=> Integer
1627
+ # resp.dry_run_result.failed_analysis_count #=> Integer
1628
+ # resp.dry_run_result.top_log_groups_impacted #=> Array
1629
+ # resp.dry_run_result.top_log_groups_impacted[0].log_group_name #=> String
1630
+ # resp.dry_run_result.top_log_groups_impacted[0].current_retention #=> String
1631
+ # resp.dry_run_result.top_log_groups_impacted[0].proposed_retention #=> String
1632
+ # resp.dry_run_result.top_log_groups_impacted[0].stored_bytes #=> Integer
1633
+ #
1608
1634
  # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DeleteAccountPolicy AWS API Documentation
1609
1635
  #
1610
1636
  # @overload delete_account_policy(params = {})
@@ -2274,7 +2300,7 @@ module Aws::CloudWatchLogs
2274
2300
  # @example Request syntax with placeholder values
2275
2301
  #
2276
2302
  # resp = client.describe_account_policies({
2277
- # policy_type: "DATA_PROTECTION_POLICY", # required, accepts DATA_PROTECTION_POLICY, SUBSCRIPTION_FILTER_POLICY, FIELD_INDEX_POLICY, TRANSFORMER_POLICY, METRIC_EXTRACTION_POLICY
2303
+ # policy_type: "DATA_PROTECTION_POLICY", # required, accepts DATA_PROTECTION_POLICY, SUBSCRIPTION_FILTER_POLICY, FIELD_INDEX_POLICY, TRANSFORMER_POLICY, METRIC_EXTRACTION_POLICY, RETENTION_POLICY
2278
2304
  # policy_name: "PolicyName",
2279
2305
  # account_identifiers: ["AccountId"],
2280
2306
  # next_token: "NextToken",
@@ -2286,7 +2312,7 @@ module Aws::CloudWatchLogs
2286
2312
  # resp.account_policies[0].policy_name #=> String
2287
2313
  # resp.account_policies[0].policy_document #=> String
2288
2314
  # resp.account_policies[0].last_updated_time #=> Integer
2289
- # resp.account_policies[0].policy_type #=> String, one of "DATA_PROTECTION_POLICY", "SUBSCRIPTION_FILTER_POLICY", "FIELD_INDEX_POLICY", "TRANSFORMER_POLICY", "METRIC_EXTRACTION_POLICY"
2315
+ # resp.account_policies[0].policy_type #=> String, one of "DATA_PROTECTION_POLICY", "SUBSCRIPTION_FILTER_POLICY", "FIELD_INDEX_POLICY", "TRANSFORMER_POLICY", "METRIC_EXTRACTION_POLICY", "RETENTION_POLICY"
2290
2316
  # resp.account_policies[0].scope #=> String, one of "ALL"
2291
2317
  # resp.account_policies[0].selection_criteria #=> String
2292
2318
  # resp.account_policies[0].account_id #=> String
@@ -3088,6 +3114,7 @@ module Aws::CloudWatchLogs
3088
3114
  # resp.log_groups[0].log_group_arn #=> String
3089
3115
  # resp.log_groups[0].deletion_protection_enabled #=> Boolean
3090
3116
  # resp.log_groups[0].bearer_token_authentication_enabled #=> Boolean
3117
+ # resp.log_groups[0].retention_policy_name #=> String
3091
3118
  # resp.next_token #=> String
3092
3119
  #
3093
3120
  # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DescribeLogGroups AWS API Documentation
@@ -6467,18 +6494,30 @@ module Aws::CloudWatchLogs
6467
6494
  #
6468
6495
  # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Subscriptions-recursion-prevention.html
6469
6496
  #
6497
+ # @option params [Boolean] :dry_run
6498
+ # Specifies whether to preview the impact of the policy without creating
6499
+ # or updating it. If you specify `true`, CloudWatch Logs validates the
6500
+ # request, does not save the policy, and returns the estimated impact in
6501
+ # `dryRunResult` instead of `accountPolicy`. The default is `false`.
6502
+ #
6503
+ # Specifying `dryRun` is valid only when you specify `RETENTION_POLICY`
6504
+ # for `policyType`. Only one dry run can be in progress for an account
6505
+ # at a time.
6506
+ #
6470
6507
  # @return [Types::PutAccountPolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6471
6508
  #
6472
6509
  # * {Types::PutAccountPolicyResponse#account_policy #account_policy} => Types::AccountPolicy
6510
+ # * {Types::PutAccountPolicyResponse#dry_run_result #dry_run_result} => Types::DryRunResult
6473
6511
  #
6474
6512
  # @example Request syntax with placeholder values
6475
6513
  #
6476
6514
  # resp = client.put_account_policy({
6477
6515
  # policy_name: "PolicyName", # required
6478
6516
  # policy_document: "AccountPolicyDocument", # required
6479
- # policy_type: "DATA_PROTECTION_POLICY", # required, accepts DATA_PROTECTION_POLICY, SUBSCRIPTION_FILTER_POLICY, FIELD_INDEX_POLICY, TRANSFORMER_POLICY, METRIC_EXTRACTION_POLICY
6517
+ # policy_type: "DATA_PROTECTION_POLICY", # required, accepts DATA_PROTECTION_POLICY, SUBSCRIPTION_FILTER_POLICY, FIELD_INDEX_POLICY, TRANSFORMER_POLICY, METRIC_EXTRACTION_POLICY, RETENTION_POLICY
6480
6518
  # scope: "ALL", # accepts ALL
6481
6519
  # selection_criteria: "SelectionCriteria",
6520
+ # dry_run: false,
6482
6521
  # })
6483
6522
  #
6484
6523
  # @example Response structure
@@ -6486,10 +6525,20 @@ module Aws::CloudWatchLogs
6486
6525
  # resp.account_policy.policy_name #=> String
6487
6526
  # resp.account_policy.policy_document #=> String
6488
6527
  # resp.account_policy.last_updated_time #=> Integer
6489
- # resp.account_policy.policy_type #=> String, one of "DATA_PROTECTION_POLICY", "SUBSCRIPTION_FILTER_POLICY", "FIELD_INDEX_POLICY", "TRANSFORMER_POLICY", "METRIC_EXTRACTION_POLICY"
6528
+ # resp.account_policy.policy_type #=> String, one of "DATA_PROTECTION_POLICY", "SUBSCRIPTION_FILTER_POLICY", "FIELD_INDEX_POLICY", "TRANSFORMER_POLICY", "METRIC_EXTRACTION_POLICY", "RETENTION_POLICY"
6490
6529
  # resp.account_policy.scope #=> String, one of "ALL"
6491
6530
  # resp.account_policy.selection_criteria #=> String
6492
6531
  # resp.account_policy.account_id #=> String
6532
+ # resp.dry_run_result.total_matched_log_groups #=> Integer
6533
+ # resp.dry_run_result.increased_retention_log_group_count #=> Integer
6534
+ # resp.dry_run_result.decreased_retention_log_group_count #=> Integer
6535
+ # resp.dry_run_result.unchanged_retention_log_group_count #=> Integer
6536
+ # resp.dry_run_result.failed_analysis_count #=> Integer
6537
+ # resp.dry_run_result.top_log_groups_impacted #=> Array
6538
+ # resp.dry_run_result.top_log_groups_impacted[0].log_group_name #=> String
6539
+ # resp.dry_run_result.top_log_groups_impacted[0].current_retention #=> String
6540
+ # resp.dry_run_result.top_log_groups_impacted[0].proposed_retention #=> String
6541
+ # resp.dry_run_result.top_log_groups_impacted[0].stored_bytes #=> Integer
6493
6542
  #
6494
6543
  # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/PutAccountPolicy AWS API Documentation
6495
6544
  #
@@ -9737,7 +9786,7 @@ module Aws::CloudWatchLogs
9737
9786
  tracer: tracer
9738
9787
  )
9739
9788
  context[:gem_name] = 'aws-sdk-cloudwatchlogs'
9740
- context[:gem_version] = '1.170.0'
9789
+ context[:gem_version] = '1.171.0'
9741
9790
  Seahorse::Client::Request.new(handlers, context)
9742
9791
  end
9743
9792
 
@@ -95,6 +95,7 @@ module Aws::CloudWatchLogs
95
95
  Days = Shapes::IntegerShape.new(name: 'Days')
96
96
  DefaultValue = Shapes::FloatShape.new(name: 'DefaultValue')
97
97
  DeleteAccountPolicyRequest = Shapes::StructureShape.new(name: 'DeleteAccountPolicyRequest')
98
+ DeleteAccountPolicyResponse = Shapes::StructureShape.new(name: 'DeleteAccountPolicyResponse')
98
99
  DeleteDataProtectionPolicyRequest = Shapes::StructureShape.new(name: 'DeleteDataProtectionPolicyRequest')
99
100
  DeleteDeliveryDestinationPolicyRequest = Shapes::StructureShape.new(name: 'DeleteDeliveryDestinationPolicyRequest')
100
101
  DeleteDeliveryDestinationRequest = Shapes::StructureShape.new(name: 'DeleteDeliveryDestinationRequest')
@@ -211,6 +212,9 @@ module Aws::CloudWatchLogs
211
212
  DisassociateSourceFromS3TableIntegrationRequest = Shapes::StructureShape.new(name: 'DisassociateSourceFromS3TableIntegrationRequest')
212
213
  DisassociateSourceFromS3TableIntegrationResponse = Shapes::StructureShape.new(name: 'DisassociateSourceFromS3TableIntegrationResponse')
213
214
  Distribution = Shapes::StringShape.new(name: 'Distribution')
215
+ DryRun = Shapes::BooleanShape.new(name: 'DryRun')
216
+ DryRunCount = Shapes::IntegerShape.new(name: 'DryRunCount')
217
+ DryRunResult = Shapes::StructureShape.new(name: 'DryRunResult')
214
218
  DynamicTokenPosition = Shapes::IntegerShape.new(name: 'DynamicTokenPosition')
215
219
  EmitSystemFields = Shapes::ListShape.new(name: 'EmitSystemFields')
216
220
  EncryptionKey = Shapes::StringShape.new(name: 'EncryptionKey')
@@ -412,6 +416,8 @@ module Aws::CloudWatchLogs
412
416
  LogGroupFieldList = Shapes::ListShape.new(name: 'LogGroupFieldList')
413
417
  LogGroupIdentifier = Shapes::StringShape.new(name: 'LogGroupIdentifier')
414
418
  LogGroupIdentifiers = Shapes::ListShape.new(name: 'LogGroupIdentifiers')
419
+ LogGroupImpact = Shapes::StructureShape.new(name: 'LogGroupImpact')
420
+ LogGroupImpacts = Shapes::ListShape.new(name: 'LogGroupImpacts')
415
421
  LogGroupName = Shapes::StringShape.new(name: 'LogGroupName')
416
422
  LogGroupNamePattern = Shapes::StringShape.new(name: 'LogGroupNamePattern')
417
423
  LogGroupNameRegexPattern = Shapes::StringShape.new(name: 'LogGroupNameRegexPattern')
@@ -580,6 +586,7 @@ module Aws::CloudWatchLogs
580
586
  ResourceTypes = Shapes::ListShape.new(name: 'ResourceTypes')
581
587
  ResultField = Shapes::StructureShape.new(name: 'ResultField')
582
588
  ResultRows = Shapes::ListShape.new(name: 'ResultRows')
589
+ RetentionValue = Shapes::StringShape.new(name: 'RetentionValue')
583
590
  RoleArn = Shapes::StringShape.new(name: 'RoleArn')
584
591
  S3Configuration = Shapes::StructureShape.new(name: 'S3Configuration')
585
592
  S3DeliveryConfiguration = Shapes::StructureShape.new(name: 'S3DeliveryConfiguration')
@@ -969,8 +976,12 @@ module Aws::CloudWatchLogs
969
976
 
970
977
  DeleteAccountPolicyRequest.add_member(:policy_name, Shapes::ShapeRef.new(shape: PolicyName, required: true, location_name: "policyName"))
971
978
  DeleteAccountPolicyRequest.add_member(:policy_type, Shapes::ShapeRef.new(shape: PolicyType, required: true, location_name: "policyType"))
979
+ DeleteAccountPolicyRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: DryRun, location_name: "dryRun"))
972
980
  DeleteAccountPolicyRequest.struct_class = Types::DeleteAccountPolicyRequest
973
981
 
982
+ DeleteAccountPolicyResponse.add_member(:dry_run_result, Shapes::ShapeRef.new(shape: DryRunResult, location_name: "dryRunResult"))
983
+ DeleteAccountPolicyResponse.struct_class = Types::DeleteAccountPolicyResponse
984
+
974
985
  DeleteDataProtectionPolicyRequest.add_member(:log_group_identifier, Shapes::ShapeRef.new(shape: LogGroupIdentifier, required: true, location_name: "logGroupIdentifier"))
975
986
  DeleteDataProtectionPolicyRequest.struct_class = Types::DeleteDataProtectionPolicyRequest
976
987
 
@@ -1343,6 +1354,14 @@ module Aws::CloudWatchLogs
1343
1354
  DisassociateSourceFromS3TableIntegrationResponse.add_member(:identifier, Shapes::ShapeRef.new(shape: S3TableIntegrationSourceIdentifier, location_name: "identifier"))
1344
1355
  DisassociateSourceFromS3TableIntegrationResponse.struct_class = Types::DisassociateSourceFromS3TableIntegrationResponse
1345
1356
 
1357
+ DryRunResult.add_member(:total_matched_log_groups, Shapes::ShapeRef.new(shape: DryRunCount, location_name: "totalMatchedLogGroups"))
1358
+ DryRunResult.add_member(:increased_retention_log_group_count, Shapes::ShapeRef.new(shape: DryRunCount, location_name: "increasedRetentionLogGroupCount"))
1359
+ DryRunResult.add_member(:decreased_retention_log_group_count, Shapes::ShapeRef.new(shape: DryRunCount, location_name: "decreasedRetentionLogGroupCount"))
1360
+ DryRunResult.add_member(:unchanged_retention_log_group_count, Shapes::ShapeRef.new(shape: DryRunCount, location_name: "unchangedRetentionLogGroupCount"))
1361
+ DryRunResult.add_member(:failed_analysis_count, Shapes::ShapeRef.new(shape: DryRunCount, location_name: "failedAnalysisCount"))
1362
+ DryRunResult.add_member(:top_log_groups_impacted, Shapes::ShapeRef.new(shape: LogGroupImpacts, location_name: "topLogGroupsImpacted"))
1363
+ DryRunResult.struct_class = Types::DryRunResult
1364
+
1346
1365
  EmitSystemFields.member = Shapes::ShapeRef.new(shape: SystemField)
1347
1366
 
1348
1367
  Entity.add_member(:key_attributes, Shapes::ShapeRef.new(shape: EntityKeyAttributes, location_name: "keyAttributes"))
@@ -1869,6 +1888,7 @@ module Aws::CloudWatchLogs
1869
1888
  LogGroup.add_member(:log_group_arn, Shapes::ShapeRef.new(shape: Arn, location_name: "logGroupArn"))
1870
1889
  LogGroup.add_member(:deletion_protection_enabled, Shapes::ShapeRef.new(shape: DeletionProtectionEnabled, location_name: "deletionProtectionEnabled"))
1871
1890
  LogGroup.add_member(:bearer_token_authentication_enabled, Shapes::ShapeRef.new(shape: BearerTokenAuthenticationEnabled, location_name: "bearerTokenAuthenticationEnabled"))
1891
+ LogGroup.add_member(:retention_policy_name, Shapes::ShapeRef.new(shape: PolicyName, location_name: "retentionPolicyName"))
1872
1892
  LogGroup.struct_class = Types::LogGroup
1873
1893
 
1874
1894
  LogGroupArnList.member = Shapes::ShapeRef.new(shape: LogGroupArn)
@@ -1881,6 +1901,14 @@ module Aws::CloudWatchLogs
1881
1901
 
1882
1902
  LogGroupIdentifiers.member = Shapes::ShapeRef.new(shape: LogGroupIdentifier)
1883
1903
 
1904
+ LogGroupImpact.add_member(:log_group_name, Shapes::ShapeRef.new(shape: LogGroupName, location_name: "logGroupName"))
1905
+ LogGroupImpact.add_member(:current_retention, Shapes::ShapeRef.new(shape: RetentionValue, location_name: "currentRetention"))
1906
+ LogGroupImpact.add_member(:proposed_retention, Shapes::ShapeRef.new(shape: RetentionValue, location_name: "proposedRetention"))
1907
+ LogGroupImpact.add_member(:stored_bytes, Shapes::ShapeRef.new(shape: StoredBytes, location_name: "storedBytes"))
1908
+ LogGroupImpact.struct_class = Types::LogGroupImpact
1909
+
1910
+ LogGroupImpacts.member = Shapes::ShapeRef.new(shape: LogGroupImpact)
1911
+
1884
1912
  LogGroupNames.member = Shapes::ShapeRef.new(shape: LogGroupName)
1885
1913
 
1886
1914
  LogGroupSummaries.member = Shapes::ShapeRef.new(shape: LogGroupSummary)
@@ -2124,9 +2152,11 @@ module Aws::CloudWatchLogs
2124
2152
  PutAccountPolicyRequest.add_member(:policy_type, Shapes::ShapeRef.new(shape: PolicyType, required: true, location_name: "policyType"))
2125
2153
  PutAccountPolicyRequest.add_member(:scope, Shapes::ShapeRef.new(shape: Scope, location_name: "scope"))
2126
2154
  PutAccountPolicyRequest.add_member(:selection_criteria, Shapes::ShapeRef.new(shape: SelectionCriteria, location_name: "selectionCriteria"))
2155
+ PutAccountPolicyRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: DryRun, location_name: "dryRun"))
2127
2156
  PutAccountPolicyRequest.struct_class = Types::PutAccountPolicyRequest
2128
2157
 
2129
2158
  PutAccountPolicyResponse.add_member(:account_policy, Shapes::ShapeRef.new(shape: AccountPolicy, location_name: "accountPolicy"))
2159
+ PutAccountPolicyResponse.add_member(:dry_run_result, Shapes::ShapeRef.new(shape: DryRunResult, location_name: "dryRunResult"))
2130
2160
  PutAccountPolicyResponse.struct_class = Types::PutAccountPolicyResponse
2131
2161
 
2132
2162
  PutBearerTokenAuthenticationRequest.add_member(:log_group_identifier, Shapes::ShapeRef.new(shape: LogGroupIdentifier, required: true, location_name: "logGroupIdentifier"))
@@ -2880,7 +2910,7 @@ module Aws::CloudWatchLogs
2880
2910
  o.http_method = "POST"
2881
2911
  o.http_request_uri = "/"
2882
2912
  o.input = Shapes::ShapeRef.new(shape: DeleteAccountPolicyRequest)
2883
- o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2913
+ o.output = Shapes::ShapeRef.new(shape: DeleteAccountPolicyResponse)
2884
2914
  o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
2885
2915
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
2886
2916
  o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
@@ -1464,11 +1464,36 @@ module Aws::CloudWatchLogs
1464
1464
  # The type of policy to delete.
1465
1465
  # @return [String]
1466
1466
  #
1467
+ # @!attribute [rw] dry_run
1468
+ # Specifies whether to preview the impact of deleting the policy
1469
+ # without deleting it. If you specify `true`, CloudWatch Logs does not
1470
+ # delete the policy and returns the estimated impact in
1471
+ # `dryRunResult`. The default is `false`.
1472
+ #
1473
+ # Specifying `dryRun` is valid only when you specify
1474
+ # `RETENTION_POLICY` for `policyType`. Only one dry run can be in
1475
+ # progress for an account at a time.
1476
+ # @return [Boolean]
1477
+ #
1467
1478
  # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DeleteAccountPolicyRequest AWS API Documentation
1468
1479
  #
1469
1480
  class DeleteAccountPolicyRequest < Struct.new(
1470
1481
  :policy_name,
1471
- :policy_type)
1482
+ :policy_type,
1483
+ :dry_run)
1484
+ SENSITIVE = []
1485
+ include Aws::Structure
1486
+ end
1487
+
1488
+ # @!attribute [rw] dry_run_result
1489
+ # The estimated impact of deleting the policy. This field is returned
1490
+ # only when the request specifies `dryRun` as `true`.
1491
+ # @return [Types::DryRunResult]
1492
+ #
1493
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DeleteAccountPolicyResponse AWS API Documentation
1494
+ #
1495
+ class DeleteAccountPolicyResponse < Struct.new(
1496
+ :dry_run_result)
1472
1497
  SENSITIVE = []
1473
1498
  include Aws::Structure
1474
1499
  end
@@ -3397,6 +3422,61 @@ module Aws::CloudWatchLogs
3397
3422
  include Aws::Structure
3398
3423
  end
3399
3424
 
3425
+ # Contains the estimated impact of creating, updating, or deleting an
3426
+ # account-level retention policy. The analysis compares the effective
3427
+ # retention period of each log group, which accounts for all
3428
+ # account-level retention policies that apply to it, before and after
3429
+ # the change. Log groups in the Delivery class are not included.
3430
+ #
3431
+ # @!attribute [rw] total_matched_log_groups
3432
+ # The number of log groups in the scope of the policy that were
3433
+ # analyzed. This value is the sum of
3434
+ # `increasedRetentionLogGroupCount`,
3435
+ # `decreasedRetentionLogGroupCount`, and
3436
+ # `unchangedRetentionLogGroupCount`, and does not include log groups
3437
+ # that could not be analyzed.
3438
+ # @return [Integer]
3439
+ #
3440
+ # @!attribute [rw] increased_retention_log_group_count
3441
+ # The number of log groups whose effective retention period would
3442
+ # become longer.
3443
+ # @return [Integer]
3444
+ #
3445
+ # @!attribute [rw] decreased_retention_log_group_count
3446
+ # The number of log groups whose effective retention period would
3447
+ # become shorter.
3448
+ # @return [Integer]
3449
+ #
3450
+ # @!attribute [rw] unchanged_retention_log_group_count
3451
+ # The number of log groups whose effective retention period would not
3452
+ # change.
3453
+ # @return [Integer]
3454
+ #
3455
+ # @!attribute [rw] failed_analysis_count
3456
+ # The number of log groups in the scope of the policy that could not
3457
+ # be analyzed. These log groups are not included in
3458
+ # `totalMatchedLogGroups`.
3459
+ # @return [Integer]
3460
+ #
3461
+ # @!attribute [rw] top_log_groups_impacted
3462
+ # Up to 20 log groups in the scope of the policy, sorted by stored
3463
+ # bytes in descending order. This list can include log groups whose
3464
+ # effective retention period would not change.
3465
+ # @return [Array<Types::LogGroupImpact>]
3466
+ #
3467
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DryRunResult AWS API Documentation
3468
+ #
3469
+ class DryRunResult < Struct.new(
3470
+ :total_matched_log_groups,
3471
+ :increased_retention_log_group_count,
3472
+ :decreased_retention_log_group_count,
3473
+ :unchanged_retention_log_group_count,
3474
+ :failed_analysis_count,
3475
+ :top_log_groups_impacted)
3476
+ SENSITIVE = []
3477
+ include Aws::Structure
3478
+ end
3479
+
3400
3480
  # The entity associated with the log events in a `PutLogEvents` call.
3401
3481
  #
3402
3482
  # @!attribute [rw] key_attributes
@@ -6132,6 +6212,16 @@ module Aws::CloudWatchLogs
6132
6212
  # operations until it is explicitly disabled.
6133
6213
  # @return [Boolean]
6134
6214
  #
6215
+ # @!attribute [rw] retention_policy_name
6216
+ # The name of the account-level retention policy that determines the
6217
+ # retention period of this log group. This field is returned only when
6218
+ # an account-level retention policy applies to the log group. When it
6219
+ # is returned, `retentionInDays` shows the retention period from that
6220
+ # policy instead of the retention period set on the log group. If the
6221
+ # policy specifies that log events never expire, `retentionInDays` is
6222
+ # not returned.
6223
+ # @return [String]
6224
+ #
6135
6225
  # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/LogGroup AWS API Documentation
6136
6226
  #
6137
6227
  class LogGroup < Struct.new(
@@ -6147,7 +6237,8 @@ module Aws::CloudWatchLogs
6147
6237
  :log_group_class,
6148
6238
  :log_group_arn,
6149
6239
  :deletion_protection_enabled,
6150
- :bearer_token_authentication_enabled)
6240
+ :bearer_token_authentication_enabled,
6241
+ :retention_policy_name)
6151
6242
  SENSITIVE = []
6152
6243
  include Aws::Structure
6153
6244
  end
@@ -6173,6 +6264,40 @@ module Aws::CloudWatchLogs
6173
6264
  include Aws::Structure
6174
6265
  end
6175
6266
 
6267
+ # Describes the estimated effect of an account-level retention policy
6268
+ # change on one log group.
6269
+ #
6270
+ # @!attribute [rw] log_group_name
6271
+ # The name of the log group.
6272
+ # @return [String]
6273
+ #
6274
+ # @!attribute [rw] current_retention
6275
+ # The current effective retention period of the log group, in days. A
6276
+ # value of `NEVER_EXPIRE` indicates that log events in the log group
6277
+ # never expire.
6278
+ # @return [String]
6279
+ #
6280
+ # @!attribute [rw] proposed_retention
6281
+ # The effective retention period of the log group, in days, after the
6282
+ # change. A value of `NEVER_EXPIRE` indicates that log events in the
6283
+ # log group would never expire.
6284
+ # @return [String]
6285
+ #
6286
+ # @!attribute [rw] stored_bytes
6287
+ # The number of bytes stored in the log group.
6288
+ # @return [Integer]
6289
+ #
6290
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/LogGroupImpact AWS API Documentation
6291
+ #
6292
+ class LogGroupImpact < Struct.new(
6293
+ :log_group_name,
6294
+ :current_retention,
6295
+ :proposed_retention,
6296
+ :stored_bytes)
6297
+ SENSITIVE = []
6298
+ include Aws::Structure
6299
+ end
6300
+
6176
6301
  # This structure contains information about one log group in your
6177
6302
  # account.
6178
6303
  #
@@ -7888,6 +8013,18 @@ module Aws::CloudWatchLogs
7888
8013
  # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Subscriptions-recursion-prevention.html
7889
8014
  # @return [String]
7890
8015
  #
8016
+ # @!attribute [rw] dry_run
8017
+ # Specifies whether to preview the impact of the policy without
8018
+ # creating or updating it. If you specify `true`, CloudWatch Logs
8019
+ # validates the request, does not save the policy, and returns the
8020
+ # estimated impact in `dryRunResult` instead of `accountPolicy`. The
8021
+ # default is `false`.
8022
+ #
8023
+ # Specifying `dryRun` is valid only when you specify
8024
+ # `RETENTION_POLICY` for `policyType`. Only one dry run can be in
8025
+ # progress for an account at a time.
8026
+ # @return [Boolean]
8027
+ #
7891
8028
  # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/PutAccountPolicyRequest AWS API Documentation
7892
8029
  #
7893
8030
  class PutAccountPolicyRequest < Struct.new(
@@ -7895,7 +8032,8 @@ module Aws::CloudWatchLogs
7895
8032
  :policy_document,
7896
8033
  :policy_type,
7897
8034
  :scope,
7898
- :selection_criteria)
8035
+ :selection_criteria,
8036
+ :dry_run)
7899
8037
  SENSITIVE = []
7900
8038
  include Aws::Structure
7901
8039
  end
@@ -7904,10 +8042,17 @@ module Aws::CloudWatchLogs
7904
8042
  # The account policy that you created.
7905
8043
  # @return [Types::AccountPolicy]
7906
8044
  #
8045
+ # @!attribute [rw] dry_run_result
8046
+ # The estimated impact of the policy on log groups in the account.
8047
+ # This field is returned only when the request specifies `dryRun` as
8048
+ # `true`.
8049
+ # @return [Types::DryRunResult]
8050
+ #
7907
8051
  # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/PutAccountPolicyResponse AWS API Documentation
7908
8052
  #
7909
8053
  class PutAccountPolicyResponse < Struct.new(
7910
- :account_policy)
8054
+ :account_policy,
8055
+ :dry_run_result)
7911
8056
  SENSITIVE = []
7912
8057
  include Aws::Structure
7913
8058
  end
@@ -55,7 +55,7 @@ module Aws::CloudWatchLogs
55
55
  autoload :Endpoints, 'aws-sdk-cloudwatchlogs/endpoints'
56
56
  autoload :EventStreams, 'aws-sdk-cloudwatchlogs/event_streams'
57
57
 
58
- GEM_VERSION = '1.170.0'
58
+ GEM_VERSION = '1.171.0'
59
59
 
60
60
  end
61
61
 
data/sig/client.rbs CHANGED
@@ -250,12 +250,17 @@ module Aws
250
250
  ) -> _CreateScheduledQueryResponseSuccess
251
251
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _CreateScheduledQueryResponseSuccess
252
252
 
253
+ interface _DeleteAccountPolicyResponseSuccess
254
+ include ::Seahorse::Client::_ResponseSuccess[Types::DeleteAccountPolicyResponse]
255
+ def dry_run_result: () -> Types::DryRunResult
256
+ end
253
257
  # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/CloudWatchLogs/Client.html#delete_account_policy-instance_method
254
258
  def delete_account_policy: (
255
259
  policy_name: ::String,
256
- policy_type: ("DATA_PROTECTION_POLICY" | "SUBSCRIPTION_FILTER_POLICY" | "FIELD_INDEX_POLICY" | "TRANSFORMER_POLICY" | "METRIC_EXTRACTION_POLICY")
257
- ) -> ::Seahorse::Client::_ResponseSuccess[::Aws::EmptyStructure]
258
- | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> ::Seahorse::Client::_ResponseSuccess[::Aws::EmptyStructure]
260
+ policy_type: ("DATA_PROTECTION_POLICY" | "SUBSCRIPTION_FILTER_POLICY" | "FIELD_INDEX_POLICY" | "TRANSFORMER_POLICY" | "METRIC_EXTRACTION_POLICY" | "RETENTION_POLICY"),
261
+ ?dry_run: bool
262
+ ) -> _DeleteAccountPolicyResponseSuccess
263
+ | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _DeleteAccountPolicyResponseSuccess
259
264
 
260
265
  # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/CloudWatchLogs/Client.html#delete_data_protection_policy-instance_method
261
266
  def delete_data_protection_policy: (
@@ -404,7 +409,7 @@ module Aws
404
409
  end
405
410
  # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/CloudWatchLogs/Client.html#describe_account_policies-instance_method
406
411
  def describe_account_policies: (
407
- policy_type: ("DATA_PROTECTION_POLICY" | "SUBSCRIPTION_FILTER_POLICY" | "FIELD_INDEX_POLICY" | "TRANSFORMER_POLICY" | "METRIC_EXTRACTION_POLICY"),
412
+ policy_type: ("DATA_PROTECTION_POLICY" | "SUBSCRIPTION_FILTER_POLICY" | "FIELD_INDEX_POLICY" | "TRANSFORMER_POLICY" | "METRIC_EXTRACTION_POLICY" | "RETENTION_POLICY"),
408
413
  ?policy_name: ::String,
409
414
  ?account_identifiers: Array[::String],
410
415
  ?next_token: ::String
@@ -1129,14 +1134,16 @@ module Aws
1129
1134
  interface _PutAccountPolicyResponseSuccess
1130
1135
  include ::Seahorse::Client::_ResponseSuccess[Types::PutAccountPolicyResponse]
1131
1136
  def account_policy: () -> Types::AccountPolicy
1137
+ def dry_run_result: () -> Types::DryRunResult
1132
1138
  end
1133
1139
  # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/CloudWatchLogs/Client.html#put_account_policy-instance_method
1134
1140
  def put_account_policy: (
1135
1141
  policy_name: ::String,
1136
1142
  policy_document: ::String,
1137
- policy_type: ("DATA_PROTECTION_POLICY" | "SUBSCRIPTION_FILTER_POLICY" | "FIELD_INDEX_POLICY" | "TRANSFORMER_POLICY" | "METRIC_EXTRACTION_POLICY"),
1143
+ policy_type: ("DATA_PROTECTION_POLICY" | "SUBSCRIPTION_FILTER_POLICY" | "FIELD_INDEX_POLICY" | "TRANSFORMER_POLICY" | "METRIC_EXTRACTION_POLICY" | "RETENTION_POLICY"),
1138
1144
  ?scope: ("ALL"),
1139
- ?selection_criteria: ::String
1145
+ ?selection_criteria: ::String,
1146
+ ?dry_run: bool
1140
1147
  ) -> _PutAccountPolicyResponseSuccess
1141
1148
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _PutAccountPolicyResponseSuccess
1142
1149
 
data/sig/types.rbs CHANGED
@@ -15,7 +15,7 @@ module Aws::CloudWatchLogs
15
15
  attr_accessor policy_name: ::String
16
16
  attr_accessor policy_document: ::String
17
17
  attr_accessor last_updated_time: ::Integer
18
- attr_accessor policy_type: ("DATA_PROTECTION_POLICY" | "SUBSCRIPTION_FILTER_POLICY" | "FIELD_INDEX_POLICY" | "TRANSFORMER_POLICY" | "METRIC_EXTRACTION_POLICY")
18
+ attr_accessor policy_type: ("DATA_PROTECTION_POLICY" | "SUBSCRIPTION_FILTER_POLICY" | "FIELD_INDEX_POLICY" | "TRANSFORMER_POLICY" | "METRIC_EXTRACTION_POLICY" | "RETENTION_POLICY")
19
19
  attr_accessor scope: ("ALL")
20
20
  attr_accessor selection_criteria: ::String
21
21
  attr_accessor account_id: ::String
@@ -308,7 +308,13 @@ module Aws::CloudWatchLogs
308
308
 
309
309
  class DeleteAccountPolicyRequest
310
310
  attr_accessor policy_name: ::String
311
- attr_accessor policy_type: ("DATA_PROTECTION_POLICY" | "SUBSCRIPTION_FILTER_POLICY" | "FIELD_INDEX_POLICY" | "TRANSFORMER_POLICY" | "METRIC_EXTRACTION_POLICY")
311
+ attr_accessor policy_type: ("DATA_PROTECTION_POLICY" | "SUBSCRIPTION_FILTER_POLICY" | "FIELD_INDEX_POLICY" | "TRANSFORMER_POLICY" | "METRIC_EXTRACTION_POLICY" | "RETENTION_POLICY")
312
+ attr_accessor dry_run: bool
313
+ SENSITIVE: []
314
+ end
315
+
316
+ class DeleteAccountPolicyResponse
317
+ attr_accessor dry_run_result: Types::DryRunResult
312
318
  SENSITIVE: []
313
319
  end
314
320
 
@@ -491,7 +497,7 @@ module Aws::CloudWatchLogs
491
497
  end
492
498
 
493
499
  class DescribeAccountPoliciesRequest
494
- attr_accessor policy_type: ("DATA_PROTECTION_POLICY" | "SUBSCRIPTION_FILTER_POLICY" | "FIELD_INDEX_POLICY" | "TRANSFORMER_POLICY" | "METRIC_EXTRACTION_POLICY")
500
+ attr_accessor policy_type: ("DATA_PROTECTION_POLICY" | "SUBSCRIPTION_FILTER_POLICY" | "FIELD_INDEX_POLICY" | "TRANSFORMER_POLICY" | "METRIC_EXTRACTION_POLICY" | "RETENTION_POLICY")
495
501
  attr_accessor policy_name: ::String
496
502
  attr_accessor account_identifiers: ::Array[::String]
497
503
  attr_accessor next_token: ::String
@@ -795,6 +801,16 @@ module Aws::CloudWatchLogs
795
801
  SENSITIVE: []
796
802
  end
797
803
 
804
+ class DryRunResult
805
+ attr_accessor total_matched_log_groups: ::Integer
806
+ attr_accessor increased_retention_log_group_count: ::Integer
807
+ attr_accessor decreased_retention_log_group_count: ::Integer
808
+ attr_accessor unchanged_retention_log_group_count: ::Integer
809
+ attr_accessor failed_analysis_count: ::Integer
810
+ attr_accessor top_log_groups_impacted: ::Array[Types::LogGroupImpact]
811
+ SENSITIVE: []
812
+ end
813
+
798
814
  class Entity
799
815
  attr_accessor key_attributes: ::Hash[::String, ::String]
800
816
  attr_accessor attributes: ::Hash[::String, ::String]
@@ -1449,6 +1465,7 @@ module Aws::CloudWatchLogs
1449
1465
  attr_accessor log_group_arn: ::String
1450
1466
  attr_accessor deletion_protection_enabled: bool
1451
1467
  attr_accessor bearer_token_authentication_enabled: bool
1468
+ attr_accessor retention_policy_name: ::String
1452
1469
  SENSITIVE: []
1453
1470
  end
1454
1471
 
@@ -1458,6 +1475,14 @@ module Aws::CloudWatchLogs
1458
1475
  SENSITIVE: []
1459
1476
  end
1460
1477
 
1478
+ class LogGroupImpact
1479
+ attr_accessor log_group_name: ::String
1480
+ attr_accessor current_retention: ::String
1481
+ attr_accessor proposed_retention: ::String
1482
+ attr_accessor stored_bytes: ::Integer
1483
+ SENSITIVE: []
1484
+ end
1485
+
1461
1486
  class LogGroupSummary
1462
1487
  attr_accessor log_group_name: ::String
1463
1488
  attr_accessor log_group_arn: ::String
@@ -1731,14 +1756,16 @@ module Aws::CloudWatchLogs
1731
1756
  class PutAccountPolicyRequest
1732
1757
  attr_accessor policy_name: ::String
1733
1758
  attr_accessor policy_document: ::String
1734
- attr_accessor policy_type: ("DATA_PROTECTION_POLICY" | "SUBSCRIPTION_FILTER_POLICY" | "FIELD_INDEX_POLICY" | "TRANSFORMER_POLICY" | "METRIC_EXTRACTION_POLICY")
1759
+ attr_accessor policy_type: ("DATA_PROTECTION_POLICY" | "SUBSCRIPTION_FILTER_POLICY" | "FIELD_INDEX_POLICY" | "TRANSFORMER_POLICY" | "METRIC_EXTRACTION_POLICY" | "RETENTION_POLICY")
1735
1760
  attr_accessor scope: ("ALL")
1736
1761
  attr_accessor selection_criteria: ::String
1762
+ attr_accessor dry_run: bool
1737
1763
  SENSITIVE: []
1738
1764
  end
1739
1765
 
1740
1766
  class PutAccountPolicyResponse
1741
1767
  attr_accessor account_policy: Types::AccountPolicy
1768
+ attr_accessor dry_run_result: Types::DryRunResult
1742
1769
  SENSITIVE: []
1743
1770
  end
1744
1771
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-cloudwatchlogs
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.170.0
4
+ version: 1.171.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services