aws-sdk-costexplorer 1.44.0 → 1.49.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: 164d9f468021a7e31ba7ad50b1c0a313e81b32a3de0af3bc40ad5af983d38900
4
- data.tar.gz: 3d53cb57404e32426cb036ac4f6cf2dd71d65b867579584398c265e9b6e06c96
3
+ metadata.gz: cc950569722781158767bda8a06cb58b8b0dd5a828ee0bee7fcfc66822492b18
4
+ data.tar.gz: edce45c93e72cec067b386948045cdfa9e4ca6292d9e1a8486b3417dc263bfad
5
5
  SHA512:
6
- metadata.gz: 986c708f9c3041f1b821f0094363de49c2d2c179dafb8f1faf25c2c969410b3e89fa6d9a1dcb40e88ad3938057dd097db7ef2c36794108561e9d5d1e5fb4c6d5
7
- data.tar.gz: 3b67042265c906ccb9961a0385a557f92356016e270b12b893bc74648e09dd72d4fec46e581e95cdfddfba86e05fdf6df70ce3ce614d925ac68e6f67a287541b
6
+ metadata.gz: 5b31bb04a561a190c9b592507970fa123c8c28e18fdad5e26be982d2538413adce900bc5ac5ded8d5d8015d79077762100152c1a5c95f1eafdea0ffae9a5b598
7
+ data.tar.gz: 2dc96fe85bb46b51a8a81ef230599d1c30f4e5f1a852b25ac9789beff295cd03e36f97a8568685b8045239c5dd0154932b67ff07807af4364df69faa235ae525
@@ -7,6 +7,7 @@
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
10
+
10
11
  require 'aws-sdk-core'
11
12
  require 'aws-sigv4'
12
13
 
@@ -27,7 +28,7 @@ require_relative 'aws-sdk-costexplorer/customizations'
27
28
  # structure.
28
29
  #
29
30
  # cost_explorer = Aws::CostExplorer::Client.new
30
- # resp = cost_explorer.create_cost_category_definition(params)
31
+ # resp = cost_explorer.create_anomaly_monitor(params)
31
32
  #
32
33
  # See {Client} for more information.
33
34
  #
@@ -44,9 +45,9 @@ require_relative 'aws-sdk-costexplorer/customizations'
44
45
  #
45
46
  # See {Errors} for more information.
46
47
  #
47
- # @service
48
+ # @!group service
48
49
  module Aws::CostExplorer
49
50
 
50
- GEM_VERSION = '1.44.0'
51
+ GEM_VERSION = '1.49.0'
51
52
 
52
53
  end
@@ -85,13 +85,28 @@ module Aws::CostExplorer
85
85
  # * `Aws::Credentials` - Used for configuring static, non-refreshing
86
86
  # credentials.
87
87
  #
88
+ # * `Aws::SharedCredentials` - Used for loading static credentials from a
89
+ # shared file, such as `~/.aws/config`.
90
+ #
91
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
92
+ #
93
+ # * `Aws::AssumeRoleWebIdentityCredentials` - Used when you need to
94
+ # assume a role after providing credentials via the web.
95
+ #
96
+ # * `Aws::SSOCredentials` - Used for loading credentials from AWS SSO using an
97
+ # access token generated from `aws login`.
98
+ #
99
+ # * `Aws::ProcessCredentials` - Used for loading credentials from a
100
+ # process that outputs to stdout.
101
+ #
88
102
  # * `Aws::InstanceProfileCredentials` - Used for loading credentials
89
103
  # from an EC2 IMDS on an EC2 instance.
90
104
  #
91
- # * `Aws::SharedCredentials` - Used for loading credentials from a
92
- # shared file, such as `~/.aws/config`.
105
+ # * `Aws::ECSCredentials` - Used for loading credentials from
106
+ # instances running in ECS.
93
107
  #
94
- # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
108
+ # * `Aws::CognitoIdentityCredentials` - Used for loading credentials
109
+ # from the Cognito Identity service.
95
110
  #
96
111
  # When `:credentials` are not configured directly, the following
97
112
  # locations will be searched for credentials:
@@ -101,10 +116,10 @@ module Aws::CostExplorer
101
116
  # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
102
117
  # * `~/.aws/credentials`
103
118
  # * `~/.aws/config`
104
- # * EC2 IMDS instance profile - When used by default, the timeouts are
105
- # very aggressive. Construct and pass an instance of
106
- # `Aws::InstanceProfileCredentails` to enable retries and extended
107
- # timeouts.
119
+ # * EC2/ECS IMDS instance profile - When used by default, the timeouts
120
+ # are very aggressive. Construct and pass an instance of
121
+ # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
122
+ # enable retries and extended timeouts.
108
123
  #
109
124
  # @option options [required, String] :region
110
125
  # The AWS region to connect to. The configured `:region` is
@@ -322,6 +337,118 @@ module Aws::CostExplorer
322
337
 
323
338
  # @!group API Operations
324
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
+
325
452
  # Creates a new Cost Category with the requested name and rules.
326
453
  #
327
454
  # @option params [required, String] :name
@@ -398,6 +525,52 @@ module Aws::CostExplorer
398
525
  req.send_request(options)
399
526
  end
400
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
+
401
574
  # Deletes a Cost Category. Expenses from this month going forward will
402
575
  # no longer be categorized with this Cost Category.
403
576
  #
@@ -492,6 +665,211 @@ module Aws::CostExplorer
492
665
  req.send_request(options)
493
666
  end
494
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
+
495
873
  # Retrieves cost and usage metrics for your account. You can specify
496
874
  # which cost and usage-related metric, such as `BlendedCosts` or
497
875
  # `UsageQuantity`, that you want the request to return. You can also
@@ -528,7 +906,7 @@ module Aws::CostExplorer
528
906
  #
529
907
  # [1]: https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Expression.html
530
908
  #
531
- # @option params [Array<String>] :metrics
909
+ # @option params [required, Array<String>] :metrics
532
910
  # Which metrics are returned in the query. For more information about
533
911
  # blended and unblended rates, see [Why does the "blended" annotation
534
912
  # appear on some line items in my bill?][1].
@@ -555,7 +933,7 @@ module Aws::CostExplorer
555
933
  #
556
934
  # @option params [Array<Types::GroupDefinition>] :group_by
557
935
  # You can group AWS costs using up to two different groups, either
558
- # dimensions, tag keys, or both.
936
+ # dimensions, tag keys, cost categories, or any two group by types.
559
937
  #
560
938
  # When you group by tag key, you get all tag values, including empty
561
939
  # strings.
@@ -612,7 +990,7 @@ module Aws::CostExplorer
612
990
  # values: ["Value"],
613
991
  # },
614
992
  # },
615
- # metrics: ["MetricName"],
993
+ # metrics: ["MetricName"], # required
616
994
  # group_by: [
617
995
  # {
618
996
  # type: "DIMENSION", # accepts DIMENSION, TAG, COST_CATEGORY
@@ -687,7 +1065,7 @@ module Aws::CostExplorer
687
1065
  # `Granularity` isn't set, the response object doesn't include the
688
1066
  # `Granularity`, `MONTHLY`, `DAILY`, or `HOURLY`.
689
1067
  #
690
- # @option params [Types::Expression] :filter
1068
+ # @option params [required, Types::Expression] :filter
691
1069
  # Filters Amazon Web Services costs by different dimensions. For
692
1070
  # example, you can specify `SERVICE` and `LINKED_ACCOUNT` and get the
693
1071
  # costs that are associated with that account's usage of that service.
@@ -695,7 +1073,8 @@ module Aws::CostExplorer
695
1073
  # dimension filters. For more information, see [Expression][1].
696
1074
  #
697
1075
  # The `GetCostAndUsageWithResources` operation requires that you either
698
- # 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.
699
1078
  #
700
1079
  #
701
1080
  #
@@ -749,7 +1128,7 @@ module Aws::CostExplorer
749
1128
  # end: "YearMonthDay", # required
750
1129
  # },
751
1130
  # granularity: "DAILY", # accepts DAILY, MONTHLY, HOURLY
752
- # filter: {
1131
+ # filter: { # required
753
1132
  # or: [
754
1133
  # {
755
1134
  # # recursive Expression
@@ -822,7 +1201,9 @@ module Aws::CostExplorer
822
1201
  # your past costs.
823
1202
  #
824
1203
  # @option params [required, Types::DateInterval] :time_period
825
- # 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.
826
1207
  #
827
1208
  # @option params [required, String] :metric
828
1209
  # Which metric Cost Explorer uses to create your forecast. For more
@@ -998,6 +1379,8 @@ module Aws::CostExplorer
998
1379
  # is Amazon EC2: CloudWatch – Alarms. The response for this operation
999
1380
  # includes a unit attribute.
1000
1381
  #
1382
+ # * REGION - The AWS Region.
1383
+ #
1001
1384
  # * RECORD\_TYPE - The different types of charges such as RI fees, usage
1002
1385
  # costs, tax refunds, and credits.
1003
1386
  #
@@ -1668,17 +2051,18 @@ module Aws::CostExplorer
1668
2051
  req.send_request(options)
1669
2052
  end
1670
2053
 
1671
- # Creates recommendations that helps you save cost by identifying idle
2054
+ # Creates recommendations that help you save cost by identifying idle
1672
2055
  # and underutilized Amazon EC2 instances.
1673
2056
  #
1674
2057
  # Recommendations are generated to either downsize or terminate
1675
2058
  # instances, along with providing savings detail and metrics. For
1676
2059
  # details on calculation and function, see [Optimizing Your Cost with
1677
- # Rightsizing Recommendations][1].
2060
+ # Rightsizing Recommendations][1] in the *AWS Billing and Cost
2061
+ # Management User Guide*.
1678
2062
  #
1679
2063
  #
1680
2064
  #
1681
- # [1]: https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/ce-what-is.html
2065
+ # [1]: https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/ce-rightsizing.html
1682
2066
  #
1683
2067
  # @option params [Types::Expression] :filter
1684
2068
  # Use `Expression` to filter by cost or by usage. There are two
@@ -1732,7 +2116,7 @@ module Aws::CostExplorer
1732
2116
  # instance families or across different instance families. You can also
1733
2117
  # choose to view your estimated savings associated with recommendations
1734
2118
  # with consideration of existing Savings Plans or RI benefits, or
1735
- # niether.
2119
+ # neither.
1736
2120
  #
1737
2121
  # @option params [required, String] :service
1738
2122
  # The specific service that you want recommendations for. The only valid
@@ -1807,6 +2191,7 @@ module Aws::CostExplorer
1807
2191
  # resp.rightsizing_recommendations #=> Array
1808
2192
  # resp.rightsizing_recommendations[0].account_id #=> String
1809
2193
  # resp.rightsizing_recommendations[0].current_instance.resource_id #=> String
2194
+ # resp.rightsizing_recommendations[0].current_instance.instance_name #=> String
1810
2195
  # resp.rightsizing_recommendations[0].current_instance.tags #=> Array
1811
2196
  # resp.rightsizing_recommendations[0].current_instance.tags[0].key #=> String
1812
2197
  # resp.rightsizing_recommendations[0].current_instance.tags[0].values #=> Array
@@ -2018,7 +2403,7 @@ module Aws::CostExplorer
2018
2403
  # The Savings Plans recommendation type requested.
2019
2404
  #
2020
2405
  # @option params [required, String] :term_in_years
2021
- # The savings plan recommendation term used to generated these
2406
+ # The savings plan recommendation term used to generate these
2022
2407
  # recommendations.
2023
2408
  #
2024
2409
  # @option params [required, String] :payment_option
@@ -2483,7 +2868,8 @@ module Aws::CostExplorer
2483
2868
  # exclusive. For example, if `start` is `2017-01-01` and `end` is
2484
2869
  # `2017-05-01`, then the cost and usage data is retrieved from
2485
2870
  # `2017-01-01` up to and including `2017-04-30` but not including
2486
- # `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.
2487
2873
  #
2488
2874
  # @option params [required, String] :metric
2489
2875
  # Which metric Cost Explorer uses to create your forecast.
@@ -2633,6 +3019,127 @@ module Aws::CostExplorer
2633
3019
  req.send_request(options)
2634
3020
  end
2635
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
+
2636
3143
  # Updates an existing Cost Category. Changes made to the Cost Category
2637
3144
  # rules will be used to categorize the current month’s expenses and
2638
3145
  # future expenses. This won’t change categorization for the previous
@@ -2725,7 +3232,7 @@ module Aws::CostExplorer
2725
3232
  params: params,
2726
3233
  config: config)
2727
3234
  context[:gem_name] = 'aws-sdk-costexplorer'
2728
- context[:gem_version] = '1.44.0'
3235
+ context[:gem_version] = '1.49.0'
2729
3236
  Seahorse::Client::Request.new(handlers, context)
2730
3237
  end
2731
3238