aws-sdk-costexplorer 1.44.0 → 1.49.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: 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