aws-sdk-costexplorer 1.75.0 → 1.76.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 470bcc7b6972d26bd4ea09f8eb6f15d64d398deee333b1741081f5a279a3ce63
4
- data.tar.gz: 416d781a7433532c07f193e6fda303327e9c1f7bb6a13ca137ae6e7114bb3693
3
+ metadata.gz: 731df5b0c2b9d12a2f4167180a9f8e873d211affecfb9c24693f0c48bdf66be6
4
+ data.tar.gz: 0bc68fa5280044aad05fa86006ed67ef18c1bb36c8efdb4fcaab428410a26fd5
5
5
  SHA512:
6
- metadata.gz: 44ac8dfdbadac981fbf2f6bfc7fe247c3c245fc14f943a9e4458bf237654ea1174c23719f4bd3a7e91d2d2fae3157661beb576775e2f035679b72bf50a878105
7
- data.tar.gz: d30f0e7fb7697aff0dc55679fcd0b0f7d916a341b7f8fdb20495693d95e2cae66ca73e3982c80b0739c932ccdd7d962171842ee306877e0eb5df470dc442e21d
6
+ metadata.gz: 1258437f2e8456f5a3ebbc4eb49b48527a2bb58cf8d5283d092ce03216f03e1006c5f56f49d51c1c1b994e0232bb0793390c3990dbbcad9562546425712dae01
7
+ data.tar.gz: 8dae4539aa3350583969caec83007a991f4b9bcdb60afd965f9ab0c22d952e326e62d5113fd9a01d7d87d6e1e781d84283413b299fab4f39cce7b9dd312b89fa
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.76.0 (2022-03-22)
5
+ ------------------
6
+
7
+ * Feature - Added three new APIs to support tagging and resource-level authorization on Cost Explorer resources: TagResource, UntagResource, ListTagsForResource. Added optional parameters to CreateCostCategoryDefinition, CreateAnomalySubscription and CreateAnomalyMonitor APIs to support Tag On Create.
8
+
4
9
  1.75.0 (2022-02-24)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.75.0
1
+ 1.76.0
@@ -367,6 +367,36 @@ module Aws::CostExplorer
367
367
  # @option params [required, Types::AnomalyMonitor] :anomaly_monitor
368
368
  # The cost anomaly detection monitor object that you want to create.
369
369
  #
370
+ # @option params [Array<Types::ResourceTag>] :resource_tags
371
+ # An optional list of tags to associate with the specified [
372
+ # `AnomalyMonitor` ][1]. You can use resource tags to control access to
373
+ # your monitor using IAM policies.
374
+ #
375
+ # Each tag consists of a key and a value, and each key must be unique
376
+ # for the resource. The following restrictions apply to resource tags:
377
+ #
378
+ # * Although the maximum number of array members is 200, you can assign
379
+ # a maximum of 50 user-tags to one resource. The remaining are
380
+ # reserved for Amazon Web Services use
381
+ #
382
+ # * The maximum length of a key is 128 characters
383
+ #
384
+ # * The maximum length of a value is 256 characters
385
+ #
386
+ # * Valid characters for keys and values are: `A-Z`, `a-z`, spaces,
387
+ # `_.:/=+-`
388
+ #
389
+ # * Keys and values are case sensitive
390
+ #
391
+ # * Keys and values are trimmed for any leading or trailing whitespaces
392
+ #
393
+ # * Don’t use `aws:` as a prefix for your keys. This prefix is reserved
394
+ # for Amazon Web Services use
395
+ #
396
+ #
397
+ #
398
+ # [1]: https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_AnomalyMonitor.html
399
+ #
370
400
  # @return [Types::CreateAnomalyMonitorResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
371
401
  #
372
402
  # * {Types::CreateAnomalyMonitorResponse#monitor_arn #monitor_arn} => String
@@ -414,6 +444,12 @@ module Aws::CostExplorer
414
444
  # },
415
445
  # dimensional_value_count: 1,
416
446
  # },
447
+ # resource_tags: [
448
+ # {
449
+ # key: "ResourceTagKey", # required
450
+ # value: "ResourceTagValue", # required
451
+ # },
452
+ # ],
417
453
  # })
418
454
  #
419
455
  # @example Response structure
@@ -437,6 +473,36 @@ module Aws::CostExplorer
437
473
  # @option params [required, Types::AnomalySubscription] :anomaly_subscription
438
474
  # The cost anomaly subscription object that you want to create.
439
475
  #
476
+ # @option params [Array<Types::ResourceTag>] :resource_tags
477
+ # An optional list of tags to associate with the specified [
478
+ # `AnomalySubscription` ][1]. You can use resource tags to control
479
+ # access to your `subscription` using IAM policies.
480
+ #
481
+ # Each tag consists of a key and a value, and each key must be unique
482
+ # for the resource. The following restrictions apply to resource tags:
483
+ #
484
+ # * Although the maximum number of array members is 200, you can assign
485
+ # a maximum of 50 user-tags to one resource. The remaining are
486
+ # reserved for Amazon Web Services use
487
+ #
488
+ # * The maximum length of a key is 128 characters
489
+ #
490
+ # * The maximum length of a value is 256 characters
491
+ #
492
+ # * Valid characters for keys and values are: `A-Z`, `a-z`, spaces,
493
+ # `_.:/=+-`
494
+ #
495
+ # * Keys and values are case sensitive
496
+ #
497
+ # * Keys and values are trimmed for any leading or trailing whitespaces
498
+ #
499
+ # * Don’t use `aws:` as a prefix for your keys. This prefix is reserved
500
+ # for Amazon Web Services use
501
+ #
502
+ #
503
+ #
504
+ # [1]: https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_AnomalySubscription.html
505
+ #
440
506
  # @return [Types::CreateAnomalySubscriptionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
441
507
  #
442
508
  # * {Types::CreateAnomalySubscriptionResponse#subscription_arn #subscription_arn} => String
@@ -459,6 +525,12 @@ module Aws::CostExplorer
459
525
  # frequency: "DAILY", # required, accepts DAILY, IMMEDIATE, WEEKLY
460
526
  # subscription_name: "GenericString", # required
461
527
  # },
528
+ # resource_tags: [
529
+ # {
530
+ # key: "ResourceTagKey", # required
531
+ # value: "ResourceTagValue", # required
532
+ # },
533
+ # ],
462
534
  # })
463
535
  #
464
536
  # @example Response structure
@@ -497,6 +569,36 @@ module Aws::CostExplorer
497
569
  # The split charge rules used to allocate your charges between your Cost
498
570
  # Category values.
499
571
  #
572
+ # @option params [Array<Types::ResourceTag>] :resource_tags
573
+ # An optional list of tags to associate with the specified [
574
+ # `CostCategory` ][1]. You can use resource tags to control access to
575
+ # your `cost category` using IAM policies.
576
+ #
577
+ # Each tag consists of a key and a value, and each key must be unique
578
+ # for the resource. The following restrictions apply to resource tags:
579
+ #
580
+ # * Although the maximum number of array members is 200, you can assign
581
+ # a maximum of 50 user-tags to one resource. The remaining are
582
+ # reserved for Amazon Web Services use
583
+ #
584
+ # * The maximum length of a key is 128 characters
585
+ #
586
+ # * The maximum length of a value is 256 characters
587
+ #
588
+ # * Valid characters for keys and values are: `A-Z`, `a-z`, spaces,
589
+ # `_.:/=+-`
590
+ #
591
+ # * Keys and values are case sensitive
592
+ #
593
+ # * Keys and values are trimmed for any leading or trailing whitespaces
594
+ #
595
+ # * Don’t use `aws:` as a prefix for your keys. This prefix is reserved
596
+ # for Amazon Web Services use
597
+ #
598
+ #
599
+ #
600
+ # [1]: https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_CostCategory.html
601
+ #
500
602
  # @return [Types::CreateCostCategoryDefinitionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
501
603
  #
502
604
  # * {Types::CreateCostCategoryDefinitionResponse#cost_category_arn #cost_category_arn} => String
@@ -561,6 +663,12 @@ module Aws::CostExplorer
561
663
  # ],
562
664
  # },
563
665
  # ],
666
+ # resource_tags: [
667
+ # {
668
+ # key: "ResourceTagKey", # required
669
+ # value: "ResourceTagValue", # required
670
+ # },
671
+ # ],
564
672
  # })
565
673
  #
566
674
  # @example Response structure
@@ -978,11 +1086,12 @@ module Aws::CostExplorer
978
1086
  # You can nest `Expression` objects to define any combination of
979
1087
  # dimension filters. For more information, see [Expression][1].
980
1088
  #
981
- # Valid values for `MatchOptions` for `CostCategories` and `Tags` are
982
- # `EQUALS`, `ABSENT`, and `CASE_SENSITIVE`.
1089
+ # Valid values for `MatchOptions` for `Dimensions` are `EQUALS` and
1090
+ # `CASE_SENSITIVE`.
983
1091
  #
984
- # The default values are `EQUALS` and `CASE_SENSITIVE`. Valid values for
985
- # `MatchOptions` for `Dimensions` are `EQUALS` and `CASE_SENSITIVE`.
1092
+ # Valid values for `MatchOptions` for `CostCategories` and `Tags` are
1093
+ # `EQUALS`, `ABSENT`, and `CASE_SENSITIVE`. Default values are `EQUALS`
1094
+ # and `CASE_SENSITIVE`.
986
1095
  #
987
1096
  #
988
1097
  #
@@ -1166,11 +1275,12 @@ module Aws::CostExplorer
1166
1275
  # group by or filter by a `ResourceId`. It requires the [Expression][1]
1167
1276
  # `"SERVICE = Amazon Elastic Compute Cloud - Compute"` in the filter.
1168
1277
  #
1169
- # Valid values for `MatchOptions` for `CostCategories` and `Tags` are
1170
- # `EQUALS`, `ABSENT`, and `CASE_SENSITIVE`.
1278
+ # Valid values for `MatchOptions` for `Dimensions` are `EQUALS` and
1279
+ # `CASE_SENSITIVE`.
1171
1280
  #
1172
- # The default values are `EQUALS` and `CASE_SENSITIVE`. Valid values for
1173
- # `MatchOptions` for `Dimensions` are `EQUALS` and `CASE_SENSITIVE`.
1281
+ # Valid values for `MatchOptions` for `CostCategories` and `Tags` are
1282
+ # `EQUALS`, `ABSENT`, and `CASE_SENSITIVE`. Default values are `EQUALS`
1283
+ # and `CASE_SENSITIVE`.
1174
1284
  #
1175
1285
  #
1176
1286
  #
@@ -4003,6 +4113,42 @@ module Aws::CostExplorer
4003
4113
  req.send_request(options)
4004
4114
  end
4005
4115
 
4116
+ # Returns a list of resource tags associated with the resource specified
4117
+ # by the Amazon Resource Name (ARN).
4118
+ #
4119
+ # @option params [required, String] :resource_arn
4120
+ # The Amazon Resource Name (ARN) of the resource. For a list of
4121
+ # supported resources, see [ResourceTag][1].
4122
+ #
4123
+ #
4124
+ #
4125
+ # [1]: https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_ResourceTag.html
4126
+ #
4127
+ # @return [Types::ListTagsForResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4128
+ #
4129
+ # * {Types::ListTagsForResourceResponse#resource_tags #resource_tags} => Array&lt;Types::ResourceTag&gt;
4130
+ #
4131
+ # @example Request syntax with placeholder values
4132
+ #
4133
+ # resp = client.list_tags_for_resource({
4134
+ # resource_arn: "Arn", # required
4135
+ # })
4136
+ #
4137
+ # @example Response structure
4138
+ #
4139
+ # resp.resource_tags #=> Array
4140
+ # resp.resource_tags[0].key #=> String
4141
+ # resp.resource_tags[0].value #=> String
4142
+ #
4143
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/ListTagsForResource AWS API Documentation
4144
+ #
4145
+ # @overload list_tags_for_resource(params = {})
4146
+ # @param [Hash] params ({})
4147
+ def list_tags_for_resource(params = {}, options = {})
4148
+ req = build_request(:list_tags_for_resource, params)
4149
+ req.send_request(options)
4150
+ end
4151
+
4006
4152
  # Modifies the feedback property of a given cost anomaly.
4007
4153
  #
4008
4154
  # @option params [required, String] :anomaly_id
@@ -4036,8 +4182,110 @@ module Aws::CostExplorer
4036
4182
  req.send_request(options)
4037
4183
  end
4038
4184
 
4185
+ # An API operation for adding one or more tags (key-value pairs) to a
4186
+ # resource.
4187
+ #
4188
+ # You can use the `TagResource` operation with a resource that already
4189
+ # has tags. If you specify a new tag key for the resource, this tag is
4190
+ # appended to the list of tags associated with the resource. If you
4191
+ # specify a tag key that is already associated with the resource, the
4192
+ # new tag value you specify replaces the previous value for that tag.
4193
+ #
4194
+ # Although the maximum number of array members is 200, user-tag maximum
4195
+ # is 50. The remaining are reserved for Amazon Web Services use.
4196
+ #
4197
+ # @option params [required, String] :resource_arn
4198
+ # The Amazon Resource Name (ARN) of the resource. For a list of
4199
+ # supported resources, see [ResourceTag][1].
4200
+ #
4201
+ #
4202
+ #
4203
+ # [1]: https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_ResourceTag.html
4204
+ #
4205
+ # @option params [required, Array<Types::ResourceTag>] :resource_tags
4206
+ # A list of tag key-value pairs to be added to the resource.
4207
+ #
4208
+ # Each tag consists of a key and a value, and each key must be unique
4209
+ # for the resource. The following restrictions apply to resource tags:
4210
+ #
4211
+ # * Although the maximum number of array members is 200, you can assign
4212
+ # a maximum of 50 user-tags to one resource. The remaining are
4213
+ # reserved for Amazon Web Services use
4214
+ #
4215
+ # * The maximum length of a key is 128 characters
4216
+ #
4217
+ # * The maximum length of a value is 256 characters
4218
+ #
4219
+ # * Valid characters for keys and values are: `A-Z`, `a-z`, spaces,
4220
+ # `_.:/=+-`
4221
+ #
4222
+ # * Keys and values are case sensitive
4223
+ #
4224
+ # * Keys and values are trimmed for any leading or trailing whitespaces
4225
+ #
4226
+ # * Don’t use `aws:` as a prefix for your keys. This prefix is reserved
4227
+ # for Amazon Web Services use
4228
+ #
4229
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
4230
+ #
4231
+ # @example Request syntax with placeholder values
4232
+ #
4233
+ # resp = client.tag_resource({
4234
+ # resource_arn: "Arn", # required
4235
+ # resource_tags: [ # required
4236
+ # {
4237
+ # key: "ResourceTagKey", # required
4238
+ # value: "ResourceTagValue", # required
4239
+ # },
4240
+ # ],
4241
+ # })
4242
+ #
4243
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/TagResource AWS API Documentation
4244
+ #
4245
+ # @overload tag_resource(params = {})
4246
+ # @param [Hash] params ({})
4247
+ def tag_resource(params = {}, options = {})
4248
+ req = build_request(:tag_resource, params)
4249
+ req.send_request(options)
4250
+ end
4251
+
4252
+ # Removes one or more tags from a resource. Specify only tag key(s) in
4253
+ # your request. Do not specify the value.
4254
+ #
4255
+ # @option params [required, String] :resource_arn
4256
+ # The Amazon Resource Name (ARN) of the resource. For a list of
4257
+ # supported resources, see [ResourceTag][1].
4258
+ #
4259
+ #
4260
+ #
4261
+ # [1]: https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_ResourceTag.html
4262
+ #
4263
+ # @option params [required, Array<String>] :resource_tag_keys
4264
+ # A list of tag keys associated with tags that need to be removed from
4265
+ # the resource. If you specify a tag key that does not exist, it is
4266
+ # ignored. Although the maximum number of array members is 200, user-tag
4267
+ # maximum is 50. The remaining are reserved for Amazon Web Services use.
4268
+ #
4269
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
4270
+ #
4271
+ # @example Request syntax with placeholder values
4272
+ #
4273
+ # resp = client.untag_resource({
4274
+ # resource_arn: "Arn", # required
4275
+ # resource_tag_keys: ["ResourceTagKey"], # required
4276
+ # })
4277
+ #
4278
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/UntagResource AWS API Documentation
4279
+ #
4280
+ # @overload untag_resource(params = {})
4281
+ # @param [Hash] params ({})
4282
+ def untag_resource(params = {}, options = {})
4283
+ req = build_request(:untag_resource, params)
4284
+ req.send_request(options)
4285
+ end
4286
+
4039
4287
  # Updates an existing cost anomaly monitor. The changes made are applied
4040
- # going forward, and doesn'tt change anomalies detected in the past.
4288
+ # going forward, and doesn't change anomalies detected in the past.
4041
4289
  #
4042
4290
  # @option params [required, String] :monitor_arn
4043
4291
  # Cost anomaly monitor Amazon Resource Names (ARNs).
@@ -4243,7 +4491,7 @@ module Aws::CostExplorer
4243
4491
  params: params,
4244
4492
  config: config)
4245
4493
  context[:gem_name] = 'aws-sdk-costexplorer'
4246
- context[:gem_version] = '1.75.0'
4494
+ context[:gem_version] = '1.76.0'
4247
4495
  Seahorse::Client::Request.new(handlers, context)
4248
4496
  end
4249
4497
 
@@ -159,6 +159,8 @@ module Aws::CostExplorer
159
159
  LimitExceededException = Shapes::StructureShape.new(name: 'LimitExceededException')
160
160
  ListCostCategoryDefinitionsRequest = Shapes::StructureShape.new(name: 'ListCostCategoryDefinitionsRequest')
161
161
  ListCostCategoryDefinitionsResponse = Shapes::StructureShape.new(name: 'ListCostCategoryDefinitionsResponse')
162
+ ListTagsForResourceRequest = Shapes::StructureShape.new(name: 'ListTagsForResourceRequest')
163
+ ListTagsForResourceResponse = Shapes::StructureShape.new(name: 'ListTagsForResourceResponse')
162
164
  LookbackPeriodInDays = Shapes::StringShape.new(name: 'LookbackPeriodInDays')
163
165
  MatchOption = Shapes::StringShape.new(name: 'MatchOption')
164
166
  MatchOptions = Shapes::ListShape.new(name: 'MatchOptions')
@@ -217,6 +219,11 @@ module Aws::CostExplorer
217
219
  ReservedNormalizedUnits = Shapes::StringShape.new(name: 'ReservedNormalizedUnits')
218
220
  ResourceDetails = Shapes::StructureShape.new(name: 'ResourceDetails')
219
221
  ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
222
+ ResourceTag = Shapes::StructureShape.new(name: 'ResourceTag')
223
+ ResourceTagKey = Shapes::StringShape.new(name: 'ResourceTagKey')
224
+ ResourceTagKeyList = Shapes::ListShape.new(name: 'ResourceTagKeyList')
225
+ ResourceTagList = Shapes::ListShape.new(name: 'ResourceTagList')
226
+ ResourceTagValue = Shapes::StringShape.new(name: 'ResourceTagValue')
220
227
  ResourceUtilization = Shapes::StructureShape.new(name: 'ResourceUtilization')
221
228
  ResultByTime = Shapes::StructureShape.new(name: 'ResultByTime')
222
229
  ResultsByTime = Shapes::ListShape.new(name: 'ResultsByTime')
@@ -263,12 +270,15 @@ module Aws::CostExplorer
263
270
  SupportedSavingsPlansType = Shapes::StringShape.new(name: 'SupportedSavingsPlansType')
264
271
  TagKey = Shapes::StringShape.new(name: 'TagKey')
265
272
  TagList = Shapes::ListShape.new(name: 'TagList')
273
+ TagResourceRequest = Shapes::StructureShape.new(name: 'TagResourceRequest')
274
+ TagResourceResponse = Shapes::StructureShape.new(name: 'TagResourceResponse')
266
275
  TagValues = Shapes::StructureShape.new(name: 'TagValues')
267
276
  TagValuesList = Shapes::ListShape.new(name: 'TagValuesList')
268
277
  TargetInstance = Shapes::StructureShape.new(name: 'TargetInstance')
269
278
  TargetInstancesList = Shapes::ListShape.new(name: 'TargetInstancesList')
270
279
  TermInYears = Shapes::StringShape.new(name: 'TermInYears')
271
280
  TerminateRecommendationDetail = Shapes::StructureShape.new(name: 'TerminateRecommendationDetail')
281
+ TooManyTagsException = Shapes::StructureShape.new(name: 'TooManyTagsException')
272
282
  TotalActualHours = Shapes::StringShape.new(name: 'TotalActualHours')
273
283
  TotalActualUnits = Shapes::StringShape.new(name: 'TotalActualUnits')
274
284
  TotalAmortizedFee = Shapes::StringShape.new(name: 'TotalAmortizedFee')
@@ -280,6 +290,8 @@ module Aws::CostExplorer
280
290
  UnknownSubscriptionException = Shapes::StructureShape.new(name: 'UnknownSubscriptionException')
281
291
  UnrealizedSavings = Shapes::StringShape.new(name: 'UnrealizedSavings')
282
292
  UnresolvableUsageUnitException = Shapes::StructureShape.new(name: 'UnresolvableUsageUnitException')
293
+ UntagResourceRequest = Shapes::StructureShape.new(name: 'UntagResourceRequest')
294
+ UntagResourceResponse = Shapes::StructureShape.new(name: 'UntagResourceResponse')
283
295
  UnusedHours = Shapes::StringShape.new(name: 'UnusedHours')
284
296
  UnusedUnits = Shapes::StringShape.new(name: 'UnusedUnits')
285
297
  UpdateAnomalyMonitorRequest = Shapes::StructureShape.new(name: 'UpdateAnomalyMonitorRequest')
@@ -444,12 +456,14 @@ module Aws::CostExplorer
444
456
  CoveragesByTime.member = Shapes::ShapeRef.new(shape: CoverageByTime)
445
457
 
446
458
  CreateAnomalyMonitorRequest.add_member(:anomaly_monitor, Shapes::ShapeRef.new(shape: AnomalyMonitor, required: true, location_name: "AnomalyMonitor"))
459
+ CreateAnomalyMonitorRequest.add_member(:resource_tags, Shapes::ShapeRef.new(shape: ResourceTagList, location_name: "ResourceTags"))
447
460
  CreateAnomalyMonitorRequest.struct_class = Types::CreateAnomalyMonitorRequest
448
461
 
449
462
  CreateAnomalyMonitorResponse.add_member(:monitor_arn, Shapes::ShapeRef.new(shape: GenericString, required: true, location_name: "MonitorArn"))
450
463
  CreateAnomalyMonitorResponse.struct_class = Types::CreateAnomalyMonitorResponse
451
464
 
452
465
  CreateAnomalySubscriptionRequest.add_member(:anomaly_subscription, Shapes::ShapeRef.new(shape: AnomalySubscription, required: true, location_name: "AnomalySubscription"))
466
+ CreateAnomalySubscriptionRequest.add_member(:resource_tags, Shapes::ShapeRef.new(shape: ResourceTagList, location_name: "ResourceTags"))
453
467
  CreateAnomalySubscriptionRequest.struct_class = Types::CreateAnomalySubscriptionRequest
454
468
 
455
469
  CreateAnomalySubscriptionResponse.add_member(:subscription_arn, Shapes::ShapeRef.new(shape: GenericString, required: true, location_name: "SubscriptionArn"))
@@ -460,6 +474,7 @@ module Aws::CostExplorer
460
474
  CreateCostCategoryDefinitionRequest.add_member(:rules, Shapes::ShapeRef.new(shape: CostCategoryRulesList, required: true, location_name: "Rules"))
461
475
  CreateCostCategoryDefinitionRequest.add_member(:default_value, Shapes::ShapeRef.new(shape: CostCategoryValue, location_name: "DefaultValue"))
462
476
  CreateCostCategoryDefinitionRequest.add_member(:split_charge_rules, Shapes::ShapeRef.new(shape: CostCategorySplitChargeRulesList, location_name: "SplitChargeRules"))
477
+ CreateCostCategoryDefinitionRequest.add_member(:resource_tags, Shapes::ShapeRef.new(shape: ResourceTagList, location_name: "ResourceTags"))
463
478
  CreateCostCategoryDefinitionRequest.struct_class = Types::CreateCostCategoryDefinitionRequest
464
479
 
465
480
  CreateCostCategoryDefinitionResponse.add_member(:cost_category_arn, Shapes::ShapeRef.new(shape: Arn, location_name: "CostCategoryArn"))
@@ -881,6 +896,12 @@ module Aws::CostExplorer
881
896
  ListCostCategoryDefinitionsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextPageToken, location_name: "NextToken"))
882
897
  ListCostCategoryDefinitionsResponse.struct_class = Types::ListCostCategoryDefinitionsResponse
883
898
 
899
+ ListTagsForResourceRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: Arn, required: true, location_name: "ResourceArn"))
900
+ ListTagsForResourceRequest.struct_class = Types::ListTagsForResourceRequest
901
+
902
+ ListTagsForResourceResponse.add_member(:resource_tags, Shapes::ShapeRef.new(shape: ResourceTagList, location_name: "ResourceTags"))
903
+ ListTagsForResourceResponse.struct_class = Types::ListTagsForResourceResponse
904
+
884
905
  MatchOptions.member = Shapes::ShapeRef.new(shape: MatchOption)
885
906
 
886
907
  MetricNames.member = Shapes::ShapeRef.new(shape: MetricName)
@@ -1013,8 +1034,17 @@ module Aws::CostExplorer
1013
1034
  ResourceDetails.struct_class = Types::ResourceDetails
1014
1035
 
1015
1036
  ResourceNotFoundException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
1037
+ ResourceNotFoundException.add_member(:resource_name, Shapes::ShapeRef.new(shape: Arn, location_name: "ResourceName"))
1016
1038
  ResourceNotFoundException.struct_class = Types::ResourceNotFoundException
1017
1039
 
1040
+ ResourceTag.add_member(:key, Shapes::ShapeRef.new(shape: ResourceTagKey, required: true, location_name: "Key"))
1041
+ ResourceTag.add_member(:value, Shapes::ShapeRef.new(shape: ResourceTagValue, required: true, location_name: "Value"))
1042
+ ResourceTag.struct_class = Types::ResourceTag
1043
+
1044
+ ResourceTagKeyList.member = Shapes::ShapeRef.new(shape: ResourceTagKey)
1045
+
1046
+ ResourceTagList.member = Shapes::ShapeRef.new(shape: ResourceTag)
1047
+
1018
1048
  ResourceUtilization.add_member(:ec2_resource_utilization, Shapes::ShapeRef.new(shape: EC2ResourceUtilization, location_name: "EC2ResourceUtilization"))
1019
1049
  ResourceUtilization.struct_class = Types::ResourceUtilization
1020
1050
 
@@ -1185,6 +1215,12 @@ module Aws::CostExplorer
1185
1215
 
1186
1216
  TagList.member = Shapes::ShapeRef.new(shape: Entity)
1187
1217
 
1218
+ TagResourceRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: Arn, required: true, location_name: "ResourceArn"))
1219
+ TagResourceRequest.add_member(:resource_tags, Shapes::ShapeRef.new(shape: ResourceTagList, required: true, location_name: "ResourceTags"))
1220
+ TagResourceRequest.struct_class = Types::TagResourceRequest
1221
+
1222
+ TagResourceResponse.struct_class = Types::TagResourceResponse
1223
+
1188
1224
  TagValues.add_member(:key, Shapes::ShapeRef.new(shape: TagKey, location_name: "Key"))
1189
1225
  TagValues.add_member(:values, Shapes::ShapeRef.new(shape: Values, location_name: "Values"))
1190
1226
  TagValues.add_member(:match_options, Shapes::ShapeRef.new(shape: MatchOptions, location_name: "MatchOptions"))
@@ -1207,6 +1243,10 @@ module Aws::CostExplorer
1207
1243
  TerminateRecommendationDetail.add_member(:currency_code, Shapes::ShapeRef.new(shape: GenericString, location_name: "CurrencyCode"))
1208
1244
  TerminateRecommendationDetail.struct_class = Types::TerminateRecommendationDetail
1209
1245
 
1246
+ TooManyTagsException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
1247
+ TooManyTagsException.add_member(:resource_name, Shapes::ShapeRef.new(shape: Arn, location_name: "ResourceName"))
1248
+ TooManyTagsException.struct_class = Types::TooManyTagsException
1249
+
1210
1250
  TotalImpactFilter.add_member(:numeric_operator, Shapes::ShapeRef.new(shape: NumericOperator, required: true, location_name: "NumericOperator"))
1211
1251
  TotalImpactFilter.add_member(:start_value, Shapes::ShapeRef.new(shape: GenericDouble, required: true, location_name: "StartValue"))
1212
1252
  TotalImpactFilter.add_member(:end_value, Shapes::ShapeRef.new(shape: GenericDouble, location_name: "EndValue"))
@@ -1221,6 +1261,12 @@ module Aws::CostExplorer
1221
1261
  UnresolvableUsageUnitException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
1222
1262
  UnresolvableUsageUnitException.struct_class = Types::UnresolvableUsageUnitException
1223
1263
 
1264
+ UntagResourceRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: Arn, required: true, location_name: "ResourceArn"))
1265
+ UntagResourceRequest.add_member(:resource_tag_keys, Shapes::ShapeRef.new(shape: ResourceTagKeyList, required: true, location_name: "ResourceTagKeys"))
1266
+ UntagResourceRequest.struct_class = Types::UntagResourceRequest
1267
+
1268
+ UntagResourceResponse.struct_class = Types::UntagResourceResponse
1269
+
1224
1270
  UpdateAnomalyMonitorRequest.add_member(:monitor_arn, Shapes::ShapeRef.new(shape: GenericString, required: true, location_name: "MonitorArn"))
1225
1271
  UpdateAnomalyMonitorRequest.add_member(:monitor_name, Shapes::ShapeRef.new(shape: GenericString, location_name: "MonitorName"))
1226
1272
  UpdateAnomalyMonitorRequest.struct_class = Types::UpdateAnomalyMonitorRequest
@@ -1578,6 +1624,16 @@ module Aws::CostExplorer
1578
1624
  )
1579
1625
  end)
1580
1626
 
1627
+ api.add_operation(:list_tags_for_resource, Seahorse::Model::Operation.new.tap do |o|
1628
+ o.name = "ListTagsForResource"
1629
+ o.http_method = "POST"
1630
+ o.http_request_uri = "/"
1631
+ o.input = Shapes::ShapeRef.new(shape: ListTagsForResourceRequest)
1632
+ o.output = Shapes::ShapeRef.new(shape: ListTagsForResourceResponse)
1633
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1634
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
1635
+ end)
1636
+
1581
1637
  api.add_operation(:provide_anomaly_feedback, Seahorse::Model::Operation.new.tap do |o|
1582
1638
  o.name = "ProvideAnomalyFeedback"
1583
1639
  o.http_method = "POST"
@@ -1587,6 +1643,27 @@ module Aws::CostExplorer
1587
1643
  o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
1588
1644
  end)
1589
1645
 
1646
+ api.add_operation(:tag_resource, Seahorse::Model::Operation.new.tap do |o|
1647
+ o.name = "TagResource"
1648
+ o.http_method = "POST"
1649
+ o.http_request_uri = "/"
1650
+ o.input = Shapes::ShapeRef.new(shape: TagResourceRequest)
1651
+ o.output = Shapes::ShapeRef.new(shape: TagResourceResponse)
1652
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1653
+ o.errors << Shapes::ShapeRef.new(shape: TooManyTagsException)
1654
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
1655
+ end)
1656
+
1657
+ api.add_operation(:untag_resource, Seahorse::Model::Operation.new.tap do |o|
1658
+ o.name = "UntagResource"
1659
+ o.http_method = "POST"
1660
+ o.http_request_uri = "/"
1661
+ o.input = Shapes::ShapeRef.new(shape: UntagResourceRequest)
1662
+ o.output = Shapes::ShapeRef.new(shape: UntagResourceResponse)
1663
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1664
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
1665
+ end)
1666
+
1590
1667
  api.add_operation(:update_anomaly_monitor, Seahorse::Model::Operation.new.tap do |o|
1591
1668
  o.name = "UpdateAnomalyMonitor"
1592
1669
  o.http_method = "POST"
@@ -34,6 +34,7 @@ module Aws::CostExplorer
34
34
  # * {RequestChangedException}
35
35
  # * {ResourceNotFoundException}
36
36
  # * {ServiceQuotaExceededException}
37
+ # * {TooManyTagsException}
37
38
  # * {UnknownMonitorException}
38
39
  # * {UnknownSubscriptionException}
39
40
  # * {UnresolvableUsageUnitException}
@@ -132,6 +133,11 @@ module Aws::CostExplorer
132
133
  def message
133
134
  @message || @data[:message]
134
135
  end
136
+
137
+ # @return [String]
138
+ def resource_name
139
+ @data[:resource_name]
140
+ end
135
141
  end
136
142
 
137
143
  class ServiceQuotaExceededException < ServiceError
@@ -149,6 +155,26 @@ module Aws::CostExplorer
149
155
  end
150
156
  end
151
157
 
158
+ class TooManyTagsException < ServiceError
159
+
160
+ # @param [Seahorse::Client::RequestContext] context
161
+ # @param [String] message
162
+ # @param [Aws::CostExplorer::Types::TooManyTagsException] data
163
+ def initialize(context, message, data = Aws::EmptyStructure.new)
164
+ super(context, message, data)
165
+ end
166
+
167
+ # @return [String]
168
+ def message
169
+ @message || @data[:message]
170
+ end
171
+
172
+ # @return [String]
173
+ def resource_name
174
+ @data[:resource_name]
175
+ end
176
+ end
177
+
152
178
  class UnknownMonitorException < ServiceError
153
179
 
154
180
  # @param [Seahorse::Client::RequestContext] context
@@ -930,16 +930,55 @@ module Aws::CostExplorer
930
930
  # },
931
931
  # dimensional_value_count: 1,
932
932
  # },
933
+ # resource_tags: [
934
+ # {
935
+ # key: "ResourceTagKey", # required
936
+ # value: "ResourceTagValue", # required
937
+ # },
938
+ # ],
933
939
  # }
934
940
  #
935
941
  # @!attribute [rw] anomaly_monitor
936
942
  # The cost anomaly detection monitor object that you want to create.
937
943
  # @return [Types::AnomalyMonitor]
938
944
  #
945
+ # @!attribute [rw] resource_tags
946
+ # An optional list of tags to associate with the specified [
947
+ # `AnomalyMonitor` ][1]. You can use resource tags to control access
948
+ # to your monitor using IAM policies.
949
+ #
950
+ # Each tag consists of a key and a value, and each key must be unique
951
+ # for the resource. The following restrictions apply to resource tags:
952
+ #
953
+ # * Although the maximum number of array members is 200, you can
954
+ # assign a maximum of 50 user-tags to one resource. The remaining
955
+ # are reserved for Amazon Web Services use
956
+ #
957
+ # * The maximum length of a key is 128 characters
958
+ #
959
+ # * The maximum length of a value is 256 characters
960
+ #
961
+ # * Valid characters for keys and values are: `A-Z`, `a-z`, spaces,
962
+ # `_.:/=+-`
963
+ #
964
+ # * Keys and values are case sensitive
965
+ #
966
+ # * Keys and values are trimmed for any leading or trailing
967
+ # whitespaces
968
+ #
969
+ # * Don’t use `aws:` as a prefix for your keys. This prefix is
970
+ # reserved for Amazon Web Services use
971
+ #
972
+ #
973
+ #
974
+ # [1]: https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_AnomalyMonitor.html
975
+ # @return [Array<Types::ResourceTag>]
976
+ #
939
977
  # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/CreateAnomalyMonitorRequest AWS API Documentation
940
978
  #
941
979
  class CreateAnomalyMonitorRequest < Struct.new(
942
- :anomaly_monitor)
980
+ :anomaly_monitor,
981
+ :resource_tags)
943
982
  SENSITIVE = []
944
983
  include Aws::Structure
945
984
  end
@@ -976,16 +1015,55 @@ module Aws::CostExplorer
976
1015
  # frequency: "DAILY", # required, accepts DAILY, IMMEDIATE, WEEKLY
977
1016
  # subscription_name: "GenericString", # required
978
1017
  # },
1018
+ # resource_tags: [
1019
+ # {
1020
+ # key: "ResourceTagKey", # required
1021
+ # value: "ResourceTagValue", # required
1022
+ # },
1023
+ # ],
979
1024
  # }
980
1025
  #
981
1026
  # @!attribute [rw] anomaly_subscription
982
1027
  # The cost anomaly subscription object that you want to create.
983
1028
  # @return [Types::AnomalySubscription]
984
1029
  #
1030
+ # @!attribute [rw] resource_tags
1031
+ # An optional list of tags to associate with the specified [
1032
+ # `AnomalySubscription` ][1]. You can use resource tags to control
1033
+ # access to your `subscription` using IAM policies.
1034
+ #
1035
+ # Each tag consists of a key and a value, and each key must be unique
1036
+ # for the resource. The following restrictions apply to resource tags:
1037
+ #
1038
+ # * Although the maximum number of array members is 200, you can
1039
+ # assign a maximum of 50 user-tags to one resource. The remaining
1040
+ # are reserved for Amazon Web Services use
1041
+ #
1042
+ # * The maximum length of a key is 128 characters
1043
+ #
1044
+ # * The maximum length of a value is 256 characters
1045
+ #
1046
+ # * Valid characters for keys and values are: `A-Z`, `a-z`, spaces,
1047
+ # `_.:/=+-`
1048
+ #
1049
+ # * Keys and values are case sensitive
1050
+ #
1051
+ # * Keys and values are trimmed for any leading or trailing
1052
+ # whitespaces
1053
+ #
1054
+ # * Don’t use `aws:` as a prefix for your keys. This prefix is
1055
+ # reserved for Amazon Web Services use
1056
+ #
1057
+ #
1058
+ #
1059
+ # [1]: https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_AnomalySubscription.html
1060
+ # @return [Array<Types::ResourceTag>]
1061
+ #
985
1062
  # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/CreateAnomalySubscriptionRequest AWS API Documentation
986
1063
  #
987
1064
  class CreateAnomalySubscriptionRequest < Struct.new(
988
- :anomaly_subscription)
1065
+ :anomaly_subscription,
1066
+ :resource_tags)
989
1067
  SENSITIVE = []
990
1068
  include Aws::Structure
991
1069
  end
@@ -1063,6 +1141,12 @@ module Aws::CostExplorer
1063
1141
  # ],
1064
1142
  # },
1065
1143
  # ],
1144
+ # resource_tags: [
1145
+ # {
1146
+ # key: "ResourceTagKey", # required
1147
+ # value: "ResourceTagValue", # required
1148
+ # },
1149
+ # ],
1066
1150
  # }
1067
1151
  #
1068
1152
  # @!attribute [rw] name
@@ -1091,6 +1175,38 @@ module Aws::CostExplorer
1091
1175
  # Cost Category values.
1092
1176
  # @return [Array<Types::CostCategorySplitChargeRule>]
1093
1177
  #
1178
+ # @!attribute [rw] resource_tags
1179
+ # An optional list of tags to associate with the specified [
1180
+ # `CostCategory` ][1]. You can use resource tags to control access to
1181
+ # your `cost category` using IAM policies.
1182
+ #
1183
+ # Each tag consists of a key and a value, and each key must be unique
1184
+ # for the resource. The following restrictions apply to resource tags:
1185
+ #
1186
+ # * Although the maximum number of array members is 200, you can
1187
+ # assign a maximum of 50 user-tags to one resource. The remaining
1188
+ # are reserved for Amazon Web Services use
1189
+ #
1190
+ # * The maximum length of a key is 128 characters
1191
+ #
1192
+ # * The maximum length of a value is 256 characters
1193
+ #
1194
+ # * Valid characters for keys and values are: `A-Z`, `a-z`, spaces,
1195
+ # `_.:/=+-`
1196
+ #
1197
+ # * Keys and values are case sensitive
1198
+ #
1199
+ # * Keys and values are trimmed for any leading or trailing
1200
+ # whitespaces
1201
+ #
1202
+ # * Don’t use `aws:` as a prefix for your keys. This prefix is
1203
+ # reserved for Amazon Web Services use
1204
+ #
1205
+ #
1206
+ #
1207
+ # [1]: https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_CostCategory.html
1208
+ # @return [Array<Types::ResourceTag>]
1209
+ #
1094
1210
  # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/CreateCostCategoryDefinitionRequest AWS API Documentation
1095
1211
  #
1096
1212
  class CreateCostCategoryDefinitionRequest < Struct.new(
@@ -1098,7 +1214,8 @@ module Aws::CostExplorer
1098
1214
  :rule_version,
1099
1215
  :rules,
1100
1216
  :default_value,
1101
- :split_charge_rules)
1217
+ :split_charge_rules,
1218
+ :resource_tags)
1102
1219
  SENSITIVE = []
1103
1220
  include Aws::Structure
1104
1221
  end
@@ -2230,13 +2347,13 @@ module Aws::CostExplorer
2230
2347
  # service. You can nest `Expression` objects to define any combination
2231
2348
  # of dimension filters. For more information, see [Expression][1].
2232
2349
  #
2233
- # Valid values for `MatchOptions` for `CostCategories` and `Tags` are
2234
- # `EQUALS`, `ABSENT`, and `CASE_SENSITIVE`.
2235
- #
2236
- # The default values are `EQUALS` and `CASE_SENSITIVE`. Valid values
2237
- # for `MatchOptions` for `Dimensions` are `EQUALS` and
2350
+ # Valid values for `MatchOptions` for `Dimensions` are `EQUALS` and
2238
2351
  # `CASE_SENSITIVE`.
2239
2352
  #
2353
+ # Valid values for `MatchOptions` for `CostCategories` and `Tags` are
2354
+ # `EQUALS`, `ABSENT`, and `CASE_SENSITIVE`. Default values are
2355
+ # `EQUALS` and `CASE_SENSITIVE`.
2356
+ #
2240
2357
  #
2241
2358
  #
2242
2359
  # [1]: https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Expression.html
@@ -2410,13 +2527,13 @@ module Aws::CostExplorer
2410
2527
  # [Expression][1] `"SERVICE = Amazon Elastic Compute Cloud - Compute"`
2411
2528
  # in the filter.
2412
2529
  #
2413
- # Valid values for `MatchOptions` for `CostCategories` and `Tags` are
2414
- # `EQUALS`, `ABSENT`, and `CASE_SENSITIVE`.
2415
- #
2416
- # The default values are `EQUALS` and `CASE_SENSITIVE`. Valid values
2417
- # for `MatchOptions` for `Dimensions` are `EQUALS` and
2530
+ # Valid values for `MatchOptions` for `Dimensions` are `EQUALS` and
2418
2531
  # `CASE_SENSITIVE`.
2419
2532
  #
2533
+ # Valid values for `MatchOptions` for `CostCategories` and `Tags` are
2534
+ # `EQUALS`, `ABSENT`, and `CASE_SENSITIVE`. Default values are
2535
+ # `EQUALS` and `CASE_SENSITIVE`.
2536
+ #
2420
2537
  #
2421
2538
  #
2422
2539
  # [1]: https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Expression.html
@@ -5302,6 +5419,42 @@ module Aws::CostExplorer
5302
5419
  include Aws::Structure
5303
5420
  end
5304
5421
 
5422
+ # @note When making an API call, you may pass ListTagsForResourceRequest
5423
+ # data as a hash:
5424
+ #
5425
+ # {
5426
+ # resource_arn: "Arn", # required
5427
+ # }
5428
+ #
5429
+ # @!attribute [rw] resource_arn
5430
+ # The Amazon Resource Name (ARN) of the resource. For a list of
5431
+ # supported resources, see [ResourceTag][1].
5432
+ #
5433
+ #
5434
+ #
5435
+ # [1]: https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_ResourceTag.html
5436
+ # @return [String]
5437
+ #
5438
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/ListTagsForResourceRequest AWS API Documentation
5439
+ #
5440
+ class ListTagsForResourceRequest < Struct.new(
5441
+ :resource_arn)
5442
+ SENSITIVE = []
5443
+ include Aws::Structure
5444
+ end
5445
+
5446
+ # @!attribute [rw] resource_tags
5447
+ # A list of tag key value pairs that are associated with the response.
5448
+ # @return [Array<Types::ResourceTag>]
5449
+ #
5450
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/ListTagsForResourceResponse AWS API Documentation
5451
+ #
5452
+ class ListTagsForResourceResponse < Struct.new(
5453
+ :resource_tags)
5454
+ SENSITIVE = []
5455
+ include Aws::Structure
5456
+ end
5457
+
5305
5458
  # The aggregated value for a metric.
5306
5459
  #
5307
5460
  # @!attribute [rw] amount
@@ -5919,10 +6072,53 @@ module Aws::CostExplorer
5919
6072
  # @!attribute [rw] message
5920
6073
  # @return [String]
5921
6074
  #
6075
+ # @!attribute [rw] resource_name
6076
+ # @return [String]
6077
+ #
5922
6078
  # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/ResourceNotFoundException AWS API Documentation
5923
6079
  #
5924
6080
  class ResourceNotFoundException < Struct.new(
5925
- :message)
6081
+ :message,
6082
+ :resource_name)
6083
+ SENSITIVE = []
6084
+ include Aws::Structure
6085
+ end
6086
+
6087
+ # The tag structure that contains a tag key and value.
6088
+ #
6089
+ # <note markdown="1"> Tagging is supported only for the following Cost Explorer resource
6090
+ # types: [ `AnomalyMonitor` ][1], [ `AnomalySubscription` ][2], [
6091
+ # `CostCategory` ][3].
6092
+ #
6093
+ # </note>
6094
+ #
6095
+ #
6096
+ #
6097
+ # [1]: https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_AnomalyMonitor.html
6098
+ # [2]: https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_AnomalySubscription.html
6099
+ # [3]: https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_CostCategory.html
6100
+ #
6101
+ # @note When making an API call, you may pass ResourceTag
6102
+ # data as a hash:
6103
+ #
6104
+ # {
6105
+ # key: "ResourceTagKey", # required
6106
+ # value: "ResourceTagValue", # required
6107
+ # }
6108
+ #
6109
+ # @!attribute [rw] key
6110
+ # The key that is associated with the tag.
6111
+ # @return [String]
6112
+ #
6113
+ # @!attribute [rw] value
6114
+ # The value that is associated with the tag.
6115
+ # @return [String]
6116
+ #
6117
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/ResourceTag AWS API Documentation
6118
+ #
6119
+ class ResourceTag < Struct.new(
6120
+ :key,
6121
+ :value)
5926
6122
  SENSITIVE = []
5927
6123
  include Aws::Structure
5928
6124
  end
@@ -6776,6 +6972,67 @@ module Aws::CostExplorer
6776
6972
  include Aws::Structure
6777
6973
  end
6778
6974
 
6975
+ # @note When making an API call, you may pass TagResourceRequest
6976
+ # data as a hash:
6977
+ #
6978
+ # {
6979
+ # resource_arn: "Arn", # required
6980
+ # resource_tags: [ # required
6981
+ # {
6982
+ # key: "ResourceTagKey", # required
6983
+ # value: "ResourceTagValue", # required
6984
+ # },
6985
+ # ],
6986
+ # }
6987
+ #
6988
+ # @!attribute [rw] resource_arn
6989
+ # The Amazon Resource Name (ARN) of the resource. For a list of
6990
+ # supported resources, see [ResourceTag][1].
6991
+ #
6992
+ #
6993
+ #
6994
+ # [1]: https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_ResourceTag.html
6995
+ # @return [String]
6996
+ #
6997
+ # @!attribute [rw] resource_tags
6998
+ # A list of tag key-value pairs to be added to the resource.
6999
+ #
7000
+ # Each tag consists of a key and a value, and each key must be unique
7001
+ # for the resource. The following restrictions apply to resource tags:
7002
+ #
7003
+ # * Although the maximum number of array members is 200, you can
7004
+ # assign a maximum of 50 user-tags to one resource. The remaining
7005
+ # are reserved for Amazon Web Services use
7006
+ #
7007
+ # * The maximum length of a key is 128 characters
7008
+ #
7009
+ # * The maximum length of a value is 256 characters
7010
+ #
7011
+ # * Valid characters for keys and values are: `A-Z`, `a-z`, spaces,
7012
+ # `_.:/=+-`
7013
+ #
7014
+ # * Keys and values are case sensitive
7015
+ #
7016
+ # * Keys and values are trimmed for any leading or trailing
7017
+ # whitespaces
7018
+ #
7019
+ # * Don’t use `aws:` as a prefix for your keys. This prefix is
7020
+ # reserved for Amazon Web Services use
7021
+ # @return [Array<Types::ResourceTag>]
7022
+ #
7023
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/TagResourceRequest AWS API Documentation
7024
+ #
7025
+ class TagResourceRequest < Struct.new(
7026
+ :resource_arn,
7027
+ :resource_tags)
7028
+ SENSITIVE = []
7029
+ include Aws::Structure
7030
+ end
7031
+
7032
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/TagResourceResponse AWS API Documentation
7033
+ #
7034
+ class TagResourceResponse < Aws::EmptyStructure; end
7035
+
6779
7036
  # The values that are available for a tag.
6780
7037
  #
6781
7038
  # If `Values` and `Key` aren't specified, the `ABSENT` `MatchOption` is
@@ -6890,6 +7147,24 @@ module Aws::CostExplorer
6890
7147
  include Aws::Structure
6891
7148
  end
6892
7149
 
7150
+ # Can occur if you specify a number of tags for a resource greater than
7151
+ # the maximum 50 user tags per resource.
7152
+ #
7153
+ # @!attribute [rw] message
7154
+ # @return [String]
7155
+ #
7156
+ # @!attribute [rw] resource_name
7157
+ # @return [String]
7158
+ #
7159
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/TooManyTagsException AWS API Documentation
7160
+ #
7161
+ class TooManyTagsException < Struct.new(
7162
+ :message,
7163
+ :resource_name)
7164
+ SENSITIVE = []
7165
+ include Aws::Structure
7166
+ end
7167
+
6893
7168
  # Filters cost anomalies based on the total impact.
6894
7169
  #
6895
7170
  # @note When making an API call, you may pass TotalImpactFilter
@@ -6964,6 +7239,44 @@ module Aws::CostExplorer
6964
7239
  include Aws::Structure
6965
7240
  end
6966
7241
 
7242
+ # @note When making an API call, you may pass UntagResourceRequest
7243
+ # data as a hash:
7244
+ #
7245
+ # {
7246
+ # resource_arn: "Arn", # required
7247
+ # resource_tag_keys: ["ResourceTagKey"], # required
7248
+ # }
7249
+ #
7250
+ # @!attribute [rw] resource_arn
7251
+ # The Amazon Resource Name (ARN) of the resource. For a list of
7252
+ # supported resources, see [ResourceTag][1].
7253
+ #
7254
+ #
7255
+ #
7256
+ # [1]: https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_ResourceTag.html
7257
+ # @return [String]
7258
+ #
7259
+ # @!attribute [rw] resource_tag_keys
7260
+ # A list of tag keys associated with tags that need to be removed from
7261
+ # the resource. If you specify a tag key that does not exist, it is
7262
+ # ignored. Although the maximum number of array members is 200,
7263
+ # user-tag maximum is 50. The remaining are reserved for Amazon Web
7264
+ # Services use.
7265
+ # @return [Array<String>]
7266
+ #
7267
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/UntagResourceRequest AWS API Documentation
7268
+ #
7269
+ class UntagResourceRequest < Struct.new(
7270
+ :resource_arn,
7271
+ :resource_tag_keys)
7272
+ SENSITIVE = []
7273
+ include Aws::Structure
7274
+ end
7275
+
7276
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/UntagResourceResponse AWS API Documentation
7277
+ #
7278
+ class UntagResourceResponse < Aws::EmptyStructure; end
7279
+
6967
7280
  # @note When making an API call, you may pass UpdateAnomalyMonitorRequest
6968
7281
  # data as a hash:
6969
7282
  #
@@ -48,6 +48,6 @@ require_relative 'aws-sdk-costexplorer/customizations'
48
48
  # @!group service
49
49
  module Aws::CostExplorer
50
50
 
51
- GEM_VERSION = '1.75.0'
51
+ GEM_VERSION = '1.76.0'
52
52
 
53
53
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-costexplorer
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.75.0
4
+ version: 1.76.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-02-24 00:00:00.000000000 Z
11
+ date: 2022-03-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core