aws-sdk-costexplorer 1.47.0 → 1.48.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: a3d765e46655e71bb61a2626ac36bf7764ec141368cc5900ddc303c006a787c0
4
- data.tar.gz: 9189ea599344647f963a9e60d12870ea4580d7f73692cc993d39f7aa16c6affa
3
+ metadata.gz: b418ccae5272392dc0a024e3783222b31f95e346ded321803b27f5aaa66d75ff
4
+ data.tar.gz: bde87a46360c3833cc962700fb92fd60b5325ca4dc40450b36367acac3fba870
5
5
  SHA512:
6
- metadata.gz: cf99755242101b726e2ef78f04fd705e90ca1dfea857dfcf1cd48d9de36b28364860d0b7ff889ae8857409f02970f0d5f1bf0e7d82d3c3b04b653760fae52f5e
7
- data.tar.gz: 4ae6ff2989b4e0a28c1914f702a5eb303065eb265e70f6373809485f9a883e05f08fa6fdb691983820a02a08ef7b1254fd9fbd3bad88d598188e705ce8ce08da
6
+ metadata.gz: d8401c7dfc5b1b02e1f931c0f4843129fbbde6da5feb8dbeacb755b94138cf98a4b961be90bbd580a6e873a053d61c5b6d47a2edb6345b89149ed96187e7f9f8
7
+ data.tar.gz: 490c83170d9c2fca39dbb0986615b325252182e2a441f66b1172c9f690c324dbae932ca2e52afe28277ca1b3ca8a15b9ff43b9f53db18380fe859460ba53c504
@@ -28,7 +28,7 @@ require_relative 'aws-sdk-costexplorer/customizations'
28
28
  # structure.
29
29
  #
30
30
  # cost_explorer = Aws::CostExplorer::Client.new
31
- # resp = cost_explorer.create_cost_category_definition(params)
31
+ # resp = cost_explorer.create_anomaly_monitor(params)
32
32
  #
33
33
  # See {Client} for more information.
34
34
  #
@@ -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.47.0'
51
+ GEM_VERSION = '1.48.0'
52
52
 
53
53
  end
@@ -337,6 +337,118 @@ module Aws::CostExplorer
337
337
 
338
338
  # @!group API Operations
339
339
 
340
+ # Creates a new cost anomaly detection monitor with the requested type
341
+ # and monitor specification.
342
+ #
343
+ # @option params [required, Types::AnomalyMonitor] :anomaly_monitor
344
+ # The cost anomaly detection monitor object that you want to create.
345
+ #
346
+ # @return [Types::CreateAnomalyMonitorResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
347
+ #
348
+ # * {Types::CreateAnomalyMonitorResponse#monitor_arn #monitor_arn} => String
349
+ #
350
+ # @example Request syntax with placeholder values
351
+ #
352
+ # resp = client.create_anomaly_monitor({
353
+ # anomaly_monitor: { # required
354
+ # monitor_arn: "GenericString",
355
+ # monitor_name: "GenericString", # required
356
+ # creation_date: "YearMonthDay",
357
+ # last_updated_date: "YearMonthDay",
358
+ # last_evaluated_date: "YearMonthDay",
359
+ # monitor_type: "DIMENSIONAL", # required, accepts DIMENSIONAL, CUSTOM
360
+ # monitor_dimension: "SERVICE", # accepts SERVICE
361
+ # monitor_specification: {
362
+ # or: [
363
+ # {
364
+ # # recursive Expression
365
+ # },
366
+ # ],
367
+ # and: [
368
+ # {
369
+ # # recursive Expression
370
+ # },
371
+ # ],
372
+ # not: {
373
+ # # recursive Expression
374
+ # },
375
+ # dimensions: {
376
+ # key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, LINKED_ACCOUNT_NAME, OPERATION, PURCHASE_TYPE, REGION, SERVICE, SERVICE_CODE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RESOURCE_ID, RIGHTSIZING_TYPE, SAVINGS_PLANS_TYPE, SAVINGS_PLAN_ARN, PAYMENT_OPTION
377
+ # values: ["Value"],
378
+ # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
379
+ # },
380
+ # tags: {
381
+ # key: "TagKey",
382
+ # values: ["Value"],
383
+ # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
384
+ # },
385
+ # cost_categories: {
386
+ # key: "CostCategoryName",
387
+ # values: ["Value"],
388
+ # },
389
+ # },
390
+ # dimensional_value_count: 1,
391
+ # },
392
+ # })
393
+ #
394
+ # @example Response structure
395
+ #
396
+ # resp.monitor_arn #=> String
397
+ #
398
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/CreateAnomalyMonitor AWS API Documentation
399
+ #
400
+ # @overload create_anomaly_monitor(params = {})
401
+ # @param [Hash] params ({})
402
+ def create_anomaly_monitor(params = {}, options = {})
403
+ req = build_request(:create_anomaly_monitor, params)
404
+ req.send_request(options)
405
+ end
406
+
407
+ # Adds a subscription to a cost anomaly detection monitor. You can use
408
+ # each subscription to define subscribers with email or SNS
409
+ # notifications. Email subscribers can set a dollar threshold and a time
410
+ # frequency for receiving notifications.
411
+ #
412
+ # @option params [required, Types::AnomalySubscription] :anomaly_subscription
413
+ # The cost anomaly subscription object that you want to create.
414
+ #
415
+ # @return [Types::CreateAnomalySubscriptionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
416
+ #
417
+ # * {Types::CreateAnomalySubscriptionResponse#subscription_arn #subscription_arn} => String
418
+ #
419
+ # @example Request syntax with placeholder values
420
+ #
421
+ # resp = client.create_anomaly_subscription({
422
+ # anomaly_subscription: { # required
423
+ # subscription_arn: "GenericString",
424
+ # account_id: "GenericString",
425
+ # monitor_arn_list: ["Value"], # required
426
+ # subscribers: [ # required
427
+ # {
428
+ # address: "SubscriberAddress",
429
+ # type: "EMAIL", # accepts EMAIL, SNS
430
+ # status: "CONFIRMED", # accepts CONFIRMED, DECLINED
431
+ # },
432
+ # ],
433
+ # threshold: 1.0, # required
434
+ # frequency: "DAILY", # required, accepts DAILY, IMMEDIATE, WEEKLY
435
+ # subscription_name: "GenericString", # required
436
+ # },
437
+ # })
438
+ #
439
+ # @example Response structure
440
+ #
441
+ # resp.subscription_arn #=> String
442
+ #
443
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/CreateAnomalySubscription AWS API Documentation
444
+ #
445
+ # @overload create_anomaly_subscription(params = {})
446
+ # @param [Hash] params ({})
447
+ def create_anomaly_subscription(params = {}, options = {})
448
+ req = build_request(:create_anomaly_subscription, params)
449
+ req.send_request(options)
450
+ end
451
+
340
452
  # Creates a new Cost Category with the requested name and rules.
341
453
  #
342
454
  # @option params [required, String] :name
@@ -413,6 +525,52 @@ module Aws::CostExplorer
413
525
  req.send_request(options)
414
526
  end
415
527
 
528
+ # Deletes a cost anomaly monitor.
529
+ #
530
+ # @option params [required, String] :monitor_arn
531
+ # The unique identifier of the cost anomaly monitor that you want to
532
+ # delete.
533
+ #
534
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
535
+ #
536
+ # @example Request syntax with placeholder values
537
+ #
538
+ # resp = client.delete_anomaly_monitor({
539
+ # monitor_arn: "GenericString", # required
540
+ # })
541
+ #
542
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/DeleteAnomalyMonitor AWS API Documentation
543
+ #
544
+ # @overload delete_anomaly_monitor(params = {})
545
+ # @param [Hash] params ({})
546
+ def delete_anomaly_monitor(params = {}, options = {})
547
+ req = build_request(:delete_anomaly_monitor, params)
548
+ req.send_request(options)
549
+ end
550
+
551
+ # Deletes a cost anomaly subscription.
552
+ #
553
+ # @option params [required, String] :subscription_arn
554
+ # The unique identifier of the cost anomaly subscription that you want
555
+ # to delete.
556
+ #
557
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
558
+ #
559
+ # @example Request syntax with placeholder values
560
+ #
561
+ # resp = client.delete_anomaly_subscription({
562
+ # subscription_arn: "GenericString", # required
563
+ # })
564
+ #
565
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/DeleteAnomalySubscription AWS API Documentation
566
+ #
567
+ # @overload delete_anomaly_subscription(params = {})
568
+ # @param [Hash] params ({})
569
+ def delete_anomaly_subscription(params = {}, options = {})
570
+ req = build_request(:delete_anomaly_subscription, params)
571
+ req.send_request(options)
572
+ end
573
+
416
574
  # Deletes a Cost Category. Expenses from this month going forward will
417
575
  # no longer be categorized with this Cost Category.
418
576
  #
@@ -507,6 +665,211 @@ module Aws::CostExplorer
507
665
  req.send_request(options)
508
666
  end
509
667
 
668
+ # Retrieves all of the cost anomalies detected on your account, during
669
+ # the time period specified by the `DateInterval` object.
670
+ #
671
+ # @option params [String] :monitor_arn
672
+ # Retrieves all of the cost anomalies detected for a specific cost
673
+ # anomaly monitor Amazon Resource Name (ARN).
674
+ #
675
+ # @option params [required, Types::AnomalyDateInterval] :date_interval
676
+ # Assigns the start and end dates for retrieving cost anomalies. The
677
+ # returned anomaly object will have an `AnomalyEndDate` in the specified
678
+ # time range.
679
+ #
680
+ # @option params [String] :feedback
681
+ # Filters anomaly results by the feedback field on the anomaly object.
682
+ #
683
+ # @option params [Types::TotalImpactFilter] :total_impact
684
+ # Filters anomaly results by the total impact field on the anomaly
685
+ # object. For example, you can filter anomalies `GREATER_THAN 200.00` to
686
+ # retrieve anomalies, with an estimated dollar impact greater than 200.
687
+ #
688
+ # @option params [String] :next_page_token
689
+ # The token to retrieve the next set of results. AWS provides the token
690
+ # when the response from a previous call has more results than the
691
+ # maximum page size.
692
+ #
693
+ # @option params [Integer] :max_results
694
+ # The number of entries a paginated response contains.
695
+ #
696
+ # @return [Types::GetAnomaliesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
697
+ #
698
+ # * {Types::GetAnomaliesResponse#anomalies #anomalies} => Array<Types::Anomaly>
699
+ # * {Types::GetAnomaliesResponse#next_page_token #next_page_token} => String
700
+ #
701
+ # @example Request syntax with placeholder values
702
+ #
703
+ # resp = client.get_anomalies({
704
+ # monitor_arn: "GenericString",
705
+ # date_interval: { # required
706
+ # start_date: "YearMonthDay", # required
707
+ # end_date: "YearMonthDay",
708
+ # },
709
+ # feedback: "YES", # accepts YES, NO, PLANNED_ACTIVITY
710
+ # total_impact: {
711
+ # numeric_operator: "EQUAL", # required, accepts EQUAL, GREATER_THAN_OR_EQUAL, LESS_THAN_OR_EQUAL, GREATER_THAN, LESS_THAN, BETWEEN
712
+ # start_value: 1.0, # required
713
+ # end_value: 1.0,
714
+ # },
715
+ # next_page_token: "NextPageToken",
716
+ # max_results: 1,
717
+ # })
718
+ #
719
+ # @example Response structure
720
+ #
721
+ # resp.anomalies #=> Array
722
+ # resp.anomalies[0].anomaly_id #=> String
723
+ # resp.anomalies[0].anomaly_start_date #=> String
724
+ # resp.anomalies[0].anomaly_end_date #=> String
725
+ # resp.anomalies[0].dimension_value #=> String
726
+ # resp.anomalies[0].root_causes #=> Array
727
+ # resp.anomalies[0].root_causes[0].service #=> String
728
+ # resp.anomalies[0].root_causes[0].region #=> String
729
+ # resp.anomalies[0].root_causes[0].linked_account #=> String
730
+ # resp.anomalies[0].root_causes[0].usage_type #=> String
731
+ # resp.anomalies[0].anomaly_score.max_score #=> Float
732
+ # resp.anomalies[0].anomaly_score.current_score #=> Float
733
+ # resp.anomalies[0].impact.max_impact #=> Float
734
+ # resp.anomalies[0].impact.total_impact #=> Float
735
+ # resp.anomalies[0].monitor_arn #=> String
736
+ # resp.anomalies[0].feedback #=> String, one of "YES", "NO", "PLANNED_ACTIVITY"
737
+ # resp.next_page_token #=> String
738
+ #
739
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetAnomalies AWS API Documentation
740
+ #
741
+ # @overload get_anomalies(params = {})
742
+ # @param [Hash] params ({})
743
+ def get_anomalies(params = {}, options = {})
744
+ req = build_request(:get_anomalies, params)
745
+ req.send_request(options)
746
+ end
747
+
748
+ # Retrieves the cost anomaly monitor definitions for your account. You
749
+ # can filter using a list of cost anomaly monitor Amazon Resource Names
750
+ # (ARNs).
751
+ #
752
+ # @option params [Array<String>] :monitor_arn_list
753
+ # A list of cost anomaly monitor ARNs.
754
+ #
755
+ # @option params [String] :next_page_token
756
+ # The token to retrieve the next set of results. AWS provides the token
757
+ # when the response from a previous call has more results than the
758
+ # maximum page size.
759
+ #
760
+ # @option params [Integer] :max_results
761
+ # The number of entries a paginated response contains.
762
+ #
763
+ # @return [Types::GetAnomalyMonitorsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
764
+ #
765
+ # * {Types::GetAnomalyMonitorsResponse#anomaly_monitors #anomaly_monitors} => Array&lt;Types::AnomalyMonitor&gt;
766
+ # * {Types::GetAnomalyMonitorsResponse#next_page_token #next_page_token} => String
767
+ #
768
+ # @example Request syntax with placeholder values
769
+ #
770
+ # resp = client.get_anomaly_monitors({
771
+ # monitor_arn_list: ["Value"],
772
+ # next_page_token: "NextPageToken",
773
+ # max_results: 1,
774
+ # })
775
+ #
776
+ # @example Response structure
777
+ #
778
+ # resp.anomaly_monitors #=> Array
779
+ # resp.anomaly_monitors[0].monitor_arn #=> String
780
+ # resp.anomaly_monitors[0].monitor_name #=> String
781
+ # resp.anomaly_monitors[0].creation_date #=> String
782
+ # resp.anomaly_monitors[0].last_updated_date #=> String
783
+ # resp.anomaly_monitors[0].last_evaluated_date #=> String
784
+ # resp.anomaly_monitors[0].monitor_type #=> String, one of "DIMENSIONAL", "CUSTOM"
785
+ # resp.anomaly_monitors[0].monitor_dimension #=> String, one of "SERVICE"
786
+ # resp.anomaly_monitors[0].monitor_specification.or #=> Array
787
+ # resp.anomaly_monitors[0].monitor_specification.or[0] #=> Types::Expression
788
+ # resp.anomaly_monitors[0].monitor_specification.and #=> Array
789
+ # resp.anomaly_monitors[0].monitor_specification.and[0] #=> Types::Expression
790
+ # resp.anomaly_monitors[0].monitor_specification.not #=> Types::Expression
791
+ # resp.anomaly_monitors[0].monitor_specification.dimensions.key #=> String, one of "AZ", "INSTANCE_TYPE", "LINKED_ACCOUNT", "LINKED_ACCOUNT_NAME", "OPERATION", "PURCHASE_TYPE", "REGION", "SERVICE", "SERVICE_CODE", "USAGE_TYPE", "USAGE_TYPE_GROUP", "RECORD_TYPE", "OPERATING_SYSTEM", "TENANCY", "SCOPE", "PLATFORM", "SUBSCRIPTION_ID", "LEGAL_ENTITY_NAME", "DEPLOYMENT_OPTION", "DATABASE_ENGINE", "CACHE_ENGINE", "INSTANCE_TYPE_FAMILY", "BILLING_ENTITY", "RESERVATION_ID", "RESOURCE_ID", "RIGHTSIZING_TYPE", "SAVINGS_PLANS_TYPE", "SAVINGS_PLAN_ARN", "PAYMENT_OPTION"
792
+ # resp.anomaly_monitors[0].monitor_specification.dimensions.values #=> Array
793
+ # resp.anomaly_monitors[0].monitor_specification.dimensions.values[0] #=> String
794
+ # resp.anomaly_monitors[0].monitor_specification.dimensions.match_options #=> Array
795
+ # resp.anomaly_monitors[0].monitor_specification.dimensions.match_options[0] #=> String, one of "EQUALS", "STARTS_WITH", "ENDS_WITH", "CONTAINS", "CASE_SENSITIVE", "CASE_INSENSITIVE"
796
+ # resp.anomaly_monitors[0].monitor_specification.tags.key #=> String
797
+ # resp.anomaly_monitors[0].monitor_specification.tags.values #=> Array
798
+ # resp.anomaly_monitors[0].monitor_specification.tags.values[0] #=> String
799
+ # resp.anomaly_monitors[0].monitor_specification.tags.match_options #=> Array
800
+ # resp.anomaly_monitors[0].monitor_specification.tags.match_options[0] #=> String, one of "EQUALS", "STARTS_WITH", "ENDS_WITH", "CONTAINS", "CASE_SENSITIVE", "CASE_INSENSITIVE"
801
+ # resp.anomaly_monitors[0].monitor_specification.cost_categories.key #=> String
802
+ # resp.anomaly_monitors[0].monitor_specification.cost_categories.values #=> Array
803
+ # resp.anomaly_monitors[0].monitor_specification.cost_categories.values[0] #=> String
804
+ # resp.anomaly_monitors[0].dimensional_value_count #=> Integer
805
+ # resp.next_page_token #=> String
806
+ #
807
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetAnomalyMonitors AWS API Documentation
808
+ #
809
+ # @overload get_anomaly_monitors(params = {})
810
+ # @param [Hash] params ({})
811
+ def get_anomaly_monitors(params = {}, options = {})
812
+ req = build_request(:get_anomaly_monitors, params)
813
+ req.send_request(options)
814
+ end
815
+
816
+ # Retrieves the cost anomaly subscription objects for your account. You
817
+ # can filter using a list of cost anomaly monitor Amazon Resource Names
818
+ # (ARNs).
819
+ #
820
+ # @option params [Array<String>] :subscription_arn_list
821
+ # A list of cost anomaly subscription ARNs.
822
+ #
823
+ # @option params [String] :monitor_arn
824
+ # Cost anomaly monitor ARNs.
825
+ #
826
+ # @option params [String] :next_page_token
827
+ # The token to retrieve the next set of results. AWS provides the token
828
+ # when the response from a previous call has more results than the
829
+ # maximum page size.
830
+ #
831
+ # @option params [Integer] :max_results
832
+ # The number of entries a paginated response contains.
833
+ #
834
+ # @return [Types::GetAnomalySubscriptionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
835
+ #
836
+ # * {Types::GetAnomalySubscriptionsResponse#anomaly_subscriptions #anomaly_subscriptions} => Array&lt;Types::AnomalySubscription&gt;
837
+ # * {Types::GetAnomalySubscriptionsResponse#next_page_token #next_page_token} => String
838
+ #
839
+ # @example Request syntax with placeholder values
840
+ #
841
+ # resp = client.get_anomaly_subscriptions({
842
+ # subscription_arn_list: ["Value"],
843
+ # monitor_arn: "GenericString",
844
+ # next_page_token: "NextPageToken",
845
+ # max_results: 1,
846
+ # })
847
+ #
848
+ # @example Response structure
849
+ #
850
+ # resp.anomaly_subscriptions #=> Array
851
+ # resp.anomaly_subscriptions[0].subscription_arn #=> String
852
+ # resp.anomaly_subscriptions[0].account_id #=> String
853
+ # resp.anomaly_subscriptions[0].monitor_arn_list #=> Array
854
+ # resp.anomaly_subscriptions[0].monitor_arn_list[0] #=> String
855
+ # resp.anomaly_subscriptions[0].subscribers #=> Array
856
+ # resp.anomaly_subscriptions[0].subscribers[0].address #=> String
857
+ # resp.anomaly_subscriptions[0].subscribers[0].type #=> String, one of "EMAIL", "SNS"
858
+ # resp.anomaly_subscriptions[0].subscribers[0].status #=> String, one of "CONFIRMED", "DECLINED"
859
+ # resp.anomaly_subscriptions[0].threshold #=> Float
860
+ # resp.anomaly_subscriptions[0].frequency #=> String, one of "DAILY", "IMMEDIATE", "WEEKLY"
861
+ # resp.anomaly_subscriptions[0].subscription_name #=> String
862
+ # resp.next_page_token #=> String
863
+ #
864
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetAnomalySubscriptions AWS API Documentation
865
+ #
866
+ # @overload get_anomaly_subscriptions(params = {})
867
+ # @param [Hash] params ({})
868
+ def get_anomaly_subscriptions(params = {}, options = {})
869
+ req = build_request(:get_anomaly_subscriptions, params)
870
+ req.send_request(options)
871
+ end
872
+
510
873
  # Retrieves cost and usage metrics for your account. You can specify
511
874
  # which cost and usage-related metric, such as `BlendedCosts` or
512
875
  # `UsageQuantity`, that you want the request to return. You can also
@@ -543,7 +906,7 @@ module Aws::CostExplorer
543
906
  #
544
907
  # [1]: https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Expression.html
545
908
  #
546
- # @option params [Array<String>] :metrics
909
+ # @option params [required, Array<String>] :metrics
547
910
  # Which metrics are returned in the query. For more information about
548
911
  # blended and unblended rates, see [Why does the "blended" annotation
549
912
  # appear on some line items in my bill?][1].
@@ -570,7 +933,7 @@ module Aws::CostExplorer
570
933
  #
571
934
  # @option params [Array<Types::GroupDefinition>] :group_by
572
935
  # You can group AWS costs using up to two different groups, either
573
- # dimensions, tag keys, or both.
936
+ # dimensions, tag keys, cost categories, or any two group by types.
574
937
  #
575
938
  # When you group by tag key, you get all tag values, including empty
576
939
  # strings.
@@ -627,7 +990,7 @@ module Aws::CostExplorer
627
990
  # values: ["Value"],
628
991
  # },
629
992
  # },
630
- # metrics: ["MetricName"],
993
+ # metrics: ["MetricName"], # required
631
994
  # group_by: [
632
995
  # {
633
996
  # type: "DIMENSION", # accepts DIMENSION, TAG, COST_CATEGORY
@@ -702,7 +1065,7 @@ module Aws::CostExplorer
702
1065
  # `Granularity` isn't set, the response object doesn't include the
703
1066
  # `Granularity`, `MONTHLY`, `DAILY`, or `HOURLY`.
704
1067
  #
705
- # @option params [Types::Expression] :filter
1068
+ # @option params [required, Types::Expression] :filter
706
1069
  # Filters Amazon Web Services costs by different dimensions. For
707
1070
  # example, you can specify `SERVICE` and `LINKED_ACCOUNT` and get the
708
1071
  # costs that are associated with that account's usage of that service.
@@ -710,7 +1073,8 @@ module Aws::CostExplorer
710
1073
  # dimension filters. For more information, see [Expression][1].
711
1074
  #
712
1075
  # The `GetCostAndUsageWithResources` operation requires that you either
713
- # group by or filter by a `ResourceId`.
1076
+ # group by or filter by a `ResourceId`. It requires the [Expression][1]
1077
+ # `"SERVICE = Amazon Elastic Compute Cloud - Compute"` in the filter.
714
1078
  #
715
1079
  #
716
1080
  #
@@ -764,7 +1128,7 @@ module Aws::CostExplorer
764
1128
  # end: "YearMonthDay", # required
765
1129
  # },
766
1130
  # granularity: "DAILY", # accepts DAILY, MONTHLY, HOURLY
767
- # filter: {
1131
+ # filter: { # required
768
1132
  # or: [
769
1133
  # {
770
1134
  # # recursive Expression
@@ -837,7 +1201,9 @@ module Aws::CostExplorer
837
1201
  # your past costs.
838
1202
  #
839
1203
  # @option params [required, Types::DateInterval] :time_period
840
- # The period of time that you want the forecast to cover.
1204
+ # The period of time that you want the forecast to cover. The start date
1205
+ # must be equal to or no later than the current date to avoid a
1206
+ # validation error.
841
1207
  #
842
1208
  # @option params [required, String] :metric
843
1209
  # Which metric Cost Explorer uses to create your forecast. For more
@@ -1013,6 +1379,8 @@ module Aws::CostExplorer
1013
1379
  # is Amazon EC2: CloudWatch – Alarms. The response for this operation
1014
1380
  # includes a unit attribute.
1015
1381
  #
1382
+ # * REGION - The AWS Region.
1383
+ #
1016
1384
  # * RECORD\_TYPE - The different types of charges such as RI fees, usage
1017
1385
  # costs, tax refunds, and credits.
1018
1386
  #
@@ -2500,7 +2868,8 @@ module Aws::CostExplorer
2500
2868
  # exclusive. For example, if `start` is `2017-01-01` and `end` is
2501
2869
  # `2017-05-01`, then the cost and usage data is retrieved from
2502
2870
  # `2017-01-01` up to and including `2017-04-30` but not including
2503
- # `2017-05-01`.
2871
+ # `2017-05-01`. The start date must be equal to or later than the
2872
+ # current date to avoid a validation error.
2504
2873
  #
2505
2874
  # @option params [required, String] :metric
2506
2875
  # Which metric Cost Explorer uses to create your forecast.
@@ -2650,6 +3019,127 @@ module Aws::CostExplorer
2650
3019
  req.send_request(options)
2651
3020
  end
2652
3021
 
3022
+ # Modifies the feedback property of a given cost anomaly.
3023
+ #
3024
+ # @option params [required, String] :anomaly_id
3025
+ # A cost anomaly ID.
3026
+ #
3027
+ # @option params [required, String] :feedback
3028
+ # Describes whether the cost anomaly was a planned activity or you
3029
+ # considered it an anomaly.
3030
+ #
3031
+ # @return [Types::ProvideAnomalyFeedbackResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3032
+ #
3033
+ # * {Types::ProvideAnomalyFeedbackResponse#anomaly_id #anomaly_id} => String
3034
+ #
3035
+ # @example Request syntax with placeholder values
3036
+ #
3037
+ # resp = client.provide_anomaly_feedback({
3038
+ # anomaly_id: "GenericString", # required
3039
+ # feedback: "YES", # required, accepts YES, NO, PLANNED_ACTIVITY
3040
+ # })
3041
+ #
3042
+ # @example Response structure
3043
+ #
3044
+ # resp.anomaly_id #=> String
3045
+ #
3046
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/ProvideAnomalyFeedback AWS API Documentation
3047
+ #
3048
+ # @overload provide_anomaly_feedback(params = {})
3049
+ # @param [Hash] params ({})
3050
+ def provide_anomaly_feedback(params = {}, options = {})
3051
+ req = build_request(:provide_anomaly_feedback, params)
3052
+ req.send_request(options)
3053
+ end
3054
+
3055
+ # Updates an existing cost anomaly monitor. The changes made are applied
3056
+ # going forward, and does not change anomalies detected in the past.
3057
+ #
3058
+ # @option params [required, String] :monitor_arn
3059
+ # Cost anomaly monitor Amazon Resource Names (ARNs).
3060
+ #
3061
+ # @option params [String] :monitor_name
3062
+ # The new name for the cost anomaly monitor.
3063
+ #
3064
+ # @return [Types::UpdateAnomalyMonitorResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3065
+ #
3066
+ # * {Types::UpdateAnomalyMonitorResponse#monitor_arn #monitor_arn} => String
3067
+ #
3068
+ # @example Request syntax with placeholder values
3069
+ #
3070
+ # resp = client.update_anomaly_monitor({
3071
+ # monitor_arn: "GenericString", # required
3072
+ # monitor_name: "GenericString",
3073
+ # })
3074
+ #
3075
+ # @example Response structure
3076
+ #
3077
+ # resp.monitor_arn #=> String
3078
+ #
3079
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/UpdateAnomalyMonitor AWS API Documentation
3080
+ #
3081
+ # @overload update_anomaly_monitor(params = {})
3082
+ # @param [Hash] params ({})
3083
+ def update_anomaly_monitor(params = {}, options = {})
3084
+ req = build_request(:update_anomaly_monitor, params)
3085
+ req.send_request(options)
3086
+ end
3087
+
3088
+ # Updates an existing cost anomaly monitor subscription.
3089
+ #
3090
+ # @option params [required, String] :subscription_arn
3091
+ # A cost anomaly subscription Amazon Resource Name (ARN).
3092
+ #
3093
+ # @option params [Float] :threshold
3094
+ # The update to the threshold value for receiving notifications.
3095
+ #
3096
+ # @option params [String] :frequency
3097
+ # The update to the frequency value at which subscribers will receive
3098
+ # notifications.
3099
+ #
3100
+ # @option params [Array<String>] :monitor_arn_list
3101
+ # A list of cost anomaly subscription ARNs.
3102
+ #
3103
+ # @option params [Array<Types::Subscriber>] :subscribers
3104
+ # The update to the subscriber list.
3105
+ #
3106
+ # @option params [String] :subscription_name
3107
+ # The subscription's new name.
3108
+ #
3109
+ # @return [Types::UpdateAnomalySubscriptionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3110
+ #
3111
+ # * {Types::UpdateAnomalySubscriptionResponse#subscription_arn #subscription_arn} => String
3112
+ #
3113
+ # @example Request syntax with placeholder values
3114
+ #
3115
+ # resp = client.update_anomaly_subscription({
3116
+ # subscription_arn: "GenericString", # required
3117
+ # threshold: 1.0,
3118
+ # frequency: "DAILY", # accepts DAILY, IMMEDIATE, WEEKLY
3119
+ # monitor_arn_list: ["Value"],
3120
+ # subscribers: [
3121
+ # {
3122
+ # address: "SubscriberAddress",
3123
+ # type: "EMAIL", # accepts EMAIL, SNS
3124
+ # status: "CONFIRMED", # accepts CONFIRMED, DECLINED
3125
+ # },
3126
+ # ],
3127
+ # subscription_name: "GenericString",
3128
+ # })
3129
+ #
3130
+ # @example Response structure
3131
+ #
3132
+ # resp.subscription_arn #=> String
3133
+ #
3134
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/UpdateAnomalySubscription AWS API Documentation
3135
+ #
3136
+ # @overload update_anomaly_subscription(params = {})
3137
+ # @param [Hash] params ({})
3138
+ def update_anomaly_subscription(params = {}, options = {})
3139
+ req = build_request(:update_anomaly_subscription, params)
3140
+ req.send_request(options)
3141
+ end
3142
+
2653
3143
  # Updates an existing Cost Category. Changes made to the Cost Category
2654
3144
  # rules will be used to categorize the current month’s expenses and
2655
3145
  # future expenses. This won’t change categorization for the previous
@@ -2742,7 +3232,7 @@ module Aws::CostExplorer
2742
3232
  params: params,
2743
3233
  config: config)
2744
3234
  context[:gem_name] = 'aws-sdk-costexplorer'
2745
- context[:gem_version] = '1.47.0'
3235
+ context[:gem_version] = '1.48.0'
2746
3236
  Seahorse::Client::Request.new(handlers, context)
2747
3237
  end
2748
3238