aws-sdk-costexplorer 1.45.0 → 1.50.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: 6aba9e216bd7048869658584a32b8a5a8a94d420db7fa0302e6b20abd0677f3a
4
- data.tar.gz: fccc1d2f324d62faa70100d53a600872aecf1f03e6360966ee62448308245e93
3
+ metadata.gz: '0922786b526a6cedca60638eae0ebfdc2d2c887254752dac9fcf8c565283eb1d'
4
+ data.tar.gz: 17ec5125ea455debb770910eb304b218b749ad581bea44595953eda5d9ba2aae
5
5
  SHA512:
6
- metadata.gz: 35d1503b8aa33cf7e072d25c772f7899cbad7cd71dc33ebf052e99ea68e0b45ba1e7348dbc8bf51977d7ac7e7d724d7e5643bdd002a12bd7d76bd4895c817e45
7
- data.tar.gz: 1765bc3baa8db543374d738e8e2548fb12fde75fe6a627620710c8e9701b36b0281cb388cc0ac41f6ca6ed1beb3f56a45eb34dfaadad7c5e63bd04452e188f35
6
+ metadata.gz: 6c33eabe4ba56eb0f6bcaadef9d88576c81142aabe6114192b1e391896be7cb31d536a4d1507128f64547e7f1bbbd56d05e68179b6a007a214c0fa1f5b181e22
7
+ data.tar.gz: 8df69c2ec38f3f0ed9a82edd7d0471f356a6a20afe1f03636ef54fbfdbe4aba4b2ba04d8e5b889f9d37feec230339778eac3a13070a7cdb6f475b2d0b8fd958a
@@ -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.45.0'
51
+ GEM_VERSION = '1.50.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,12 +665,217 @@ 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
498
876
  # filter and group your data by various dimensions, such as `SERVICE` or
499
877
  # `AZ`, in a specific time range. For a complete list of valid
500
- # dimensions, see the [GetDimensionValues][1] operation. Master accounts
878
+ # dimensions, see the [GetDimensionValues][1] operation. Master account
501
879
  # in an organization in AWS Organizations have access to all member
502
880
  # accounts.
503
881
  #
@@ -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
@@ -657,7 +1035,7 @@ module Aws::CostExplorer
657
1035
  # return. You can also filter and group your data by various dimensions,
658
1036
  # such as `SERVICE` or `AZ`, in a specific time range. For a complete
659
1037
  # list of valid dimensions, see the [GetDimensionValues][1] operation.
660
- # Master accounts in an organization in AWS Organizations have access to
1038
+ # Master account in an organization in AWS Organizations have access to
661
1039
  # all member accounts. This API is currently available for the Amazon
662
1040
  # Elastic Compute Cloud – Compute service only.
663
1041
  #
@@ -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
  #
@@ -1360,9 +1743,9 @@ module Aws::CostExplorer
1360
1743
  #
1361
1744
  # @option params [String] :account_scope
1362
1745
  # The account scope that you want your recommendations for. Amazon Web
1363
- # Services calculates recommendations including the payer account and
1364
- # linked accounts if the value is set to `PAYER`. If the value is
1365
- # `LINKED`, recommendations are calculated for individual linked
1746
+ # Services calculates recommendations including the master account and
1747
+ # member accounts if the value is set to `PAYER`. If the value is
1748
+ # `LINKED`, recommendations are calculated for individual member
1366
1749
  # accounts only.
1367
1750
  #
1368
1751
  # @option params [String] :lookback_period_in_days
@@ -1488,11 +1871,11 @@ module Aws::CostExplorer
1488
1871
  req.send_request(options)
1489
1872
  end
1490
1873
 
1491
- # Retrieves the reservation utilization for your account. Master
1492
- # accounts in an organization have access to member accounts. You can
1493
- # filter data by dimensions in a time period. You can use
1494
- # `GetDimensionValues` to determine the possible dimension values.
1495
- # Currently, you can group only by `SUBSCRIPTION_ID`.
1874
+ # Retrieves the reservation utilization for your account. Master account
1875
+ # in an organization have access to member accounts. You can filter data
1876
+ # by dimensions in a time period. You can use `GetDimensionValues` to
1877
+ # determine the possible dimension values. Currently, you can group only
1878
+ # by `SUBSCRIPTION_ID`.
1496
1879
  #
1497
1880
  # @option params [required, Types::DateInterval] :time_period
1498
1881
  # Sets the start and end dates for retrieving RI utilization. The start
@@ -1687,8 +2070,10 @@ module Aws::CostExplorer
1687
2070
  #
1688
2071
  # * Simple dimension values - You can set the dimension name and values
1689
2072
  # for the filters that you plan to use. For example, you can filter
1690
- # for `REGION==us-east-1 OR REGION==us-west-1`. The `Expression` for
1691
- # that looks like this:
2073
+ # for `REGION==us-east-1 OR REGION==us-west-1`. For
2074
+ # `GetRightsizingRecommendation`, the Region is a full name (for
2075
+ # example, `REGION==US East (N. Virginia)`. The `Expression` example
2076
+ # looks like:
1692
2077
  #
1693
2078
  # `\{ "Dimensions": \{ "Key": "REGION", "Values": [ "us-east-1",
1694
2079
  # “us-west-1” ] \} \}`
@@ -1827,6 +2212,10 @@ module Aws::CostExplorer
1827
2212
  # resp.rightsizing_recommendations[0].current_instance.resource_utilization.ec2_resource_utilization.max_cpu_utilization_percentage #=> String
1828
2213
  # resp.rightsizing_recommendations[0].current_instance.resource_utilization.ec2_resource_utilization.max_memory_utilization_percentage #=> String
1829
2214
  # resp.rightsizing_recommendations[0].current_instance.resource_utilization.ec2_resource_utilization.max_storage_utilization_percentage #=> String
2215
+ # resp.rightsizing_recommendations[0].current_instance.resource_utilization.ec2_resource_utilization.ebs_resource_utilization.ebs_read_ops_per_second #=> String
2216
+ # resp.rightsizing_recommendations[0].current_instance.resource_utilization.ec2_resource_utilization.ebs_resource_utilization.ebs_write_ops_per_second #=> String
2217
+ # resp.rightsizing_recommendations[0].current_instance.resource_utilization.ec2_resource_utilization.ebs_resource_utilization.ebs_read_bytes_per_second #=> String
2218
+ # resp.rightsizing_recommendations[0].current_instance.resource_utilization.ec2_resource_utilization.ebs_resource_utilization.ebs_write_bytes_per_second #=> String
1830
2219
  # resp.rightsizing_recommendations[0].current_instance.reservation_covered_hours_in_lookback_period #=> String
1831
2220
  # resp.rightsizing_recommendations[0].current_instance.savings_plans_covered_hours_in_lookback_period #=> String
1832
2221
  # resp.rightsizing_recommendations[0].current_instance.on_demand_hours_in_lookback_period #=> String
@@ -1851,6 +2240,10 @@ module Aws::CostExplorer
1851
2240
  # resp.rightsizing_recommendations[0].modify_recommendation_detail.target_instances[0].expected_resource_utilization.ec2_resource_utilization.max_cpu_utilization_percentage #=> String
1852
2241
  # resp.rightsizing_recommendations[0].modify_recommendation_detail.target_instances[0].expected_resource_utilization.ec2_resource_utilization.max_memory_utilization_percentage #=> String
1853
2242
  # resp.rightsizing_recommendations[0].modify_recommendation_detail.target_instances[0].expected_resource_utilization.ec2_resource_utilization.max_storage_utilization_percentage #=> String
2243
+ # resp.rightsizing_recommendations[0].modify_recommendation_detail.target_instances[0].expected_resource_utilization.ec2_resource_utilization.ebs_resource_utilization.ebs_read_ops_per_second #=> String
2244
+ # resp.rightsizing_recommendations[0].modify_recommendation_detail.target_instances[0].expected_resource_utilization.ec2_resource_utilization.ebs_resource_utilization.ebs_write_ops_per_second #=> String
2245
+ # resp.rightsizing_recommendations[0].modify_recommendation_detail.target_instances[0].expected_resource_utilization.ec2_resource_utilization.ebs_resource_utilization.ebs_read_bytes_per_second #=> String
2246
+ # resp.rightsizing_recommendations[0].modify_recommendation_detail.target_instances[0].expected_resource_utilization.ec2_resource_utilization.ebs_resource_utilization.ebs_write_bytes_per_second #=> String
1854
2247
  # resp.rightsizing_recommendations[0].terminate_recommendation_detail.estimated_monthly_savings #=> String
1855
2248
  # resp.rightsizing_recommendations[0].terminate_recommendation_detail.currency_code #=> String
1856
2249
  # resp.next_page_token #=> String
@@ -2028,9 +2421,9 @@ module Aws::CostExplorer
2028
2421
  #
2029
2422
  # @option params [String] :account_scope
2030
2423
  # The account scope that you want your recommendations for. Amazon Web
2031
- # Services calculates recommendations including the payer account and
2032
- # linked accounts if the value is set to `PAYER`. If the value is
2033
- # `LINKED`, recommendations are calculated for individual linked
2424
+ # Services calculates recommendations including the master account and
2425
+ # member accounts if the value is set to `PAYER`. If the value is
2426
+ # `LINKED`, recommendations are calculated for individual member
2034
2427
  # accounts only.
2035
2428
  #
2036
2429
  # @option params [String] :next_page_token
@@ -2157,7 +2550,7 @@ module Aws::CostExplorer
2157
2550
  end
2158
2551
 
2159
2552
  # Retrieves the Savings Plans utilization for your account across date
2160
- # ranges with daily or monthly granularity. Master accounts in an
2553
+ # ranges with daily or monthly granularity. Master account in an
2161
2554
  # organization have access to member accounts. You can use
2162
2555
  # `GetDimensionValues` in `SAVINGS_PLANS` to determine the possible
2163
2556
  # dimension values.
@@ -2485,7 +2878,8 @@ module Aws::CostExplorer
2485
2878
  # exclusive. For example, if `start` is `2017-01-01` and `end` is
2486
2879
  # `2017-05-01`, then the cost and usage data is retrieved from
2487
2880
  # `2017-01-01` up to and including `2017-04-30` but not including
2488
- # `2017-05-01`.
2881
+ # `2017-05-01`. The start date must be equal to or later than the
2882
+ # current date to avoid a validation error.
2489
2883
  #
2490
2884
  # @option params [required, String] :metric
2491
2885
  # Which metric Cost Explorer uses to create your forecast.
@@ -2635,6 +3029,127 @@ module Aws::CostExplorer
2635
3029
  req.send_request(options)
2636
3030
  end
2637
3031
 
3032
+ # Modifies the feedback property of a given cost anomaly.
3033
+ #
3034
+ # @option params [required, String] :anomaly_id
3035
+ # A cost anomaly ID.
3036
+ #
3037
+ # @option params [required, String] :feedback
3038
+ # Describes whether the cost anomaly was a planned activity or you
3039
+ # considered it an anomaly.
3040
+ #
3041
+ # @return [Types::ProvideAnomalyFeedbackResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3042
+ #
3043
+ # * {Types::ProvideAnomalyFeedbackResponse#anomaly_id #anomaly_id} => String
3044
+ #
3045
+ # @example Request syntax with placeholder values
3046
+ #
3047
+ # resp = client.provide_anomaly_feedback({
3048
+ # anomaly_id: "GenericString", # required
3049
+ # feedback: "YES", # required, accepts YES, NO, PLANNED_ACTIVITY
3050
+ # })
3051
+ #
3052
+ # @example Response structure
3053
+ #
3054
+ # resp.anomaly_id #=> String
3055
+ #
3056
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/ProvideAnomalyFeedback AWS API Documentation
3057
+ #
3058
+ # @overload provide_anomaly_feedback(params = {})
3059
+ # @param [Hash] params ({})
3060
+ def provide_anomaly_feedback(params = {}, options = {})
3061
+ req = build_request(:provide_anomaly_feedback, params)
3062
+ req.send_request(options)
3063
+ end
3064
+
3065
+ # Updates an existing cost anomaly monitor. The changes made are applied
3066
+ # going forward, and does not change anomalies detected in the past.
3067
+ #
3068
+ # @option params [required, String] :monitor_arn
3069
+ # Cost anomaly monitor Amazon Resource Names (ARNs).
3070
+ #
3071
+ # @option params [String] :monitor_name
3072
+ # The new name for the cost anomaly monitor.
3073
+ #
3074
+ # @return [Types::UpdateAnomalyMonitorResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3075
+ #
3076
+ # * {Types::UpdateAnomalyMonitorResponse#monitor_arn #monitor_arn} => String
3077
+ #
3078
+ # @example Request syntax with placeholder values
3079
+ #
3080
+ # resp = client.update_anomaly_monitor({
3081
+ # monitor_arn: "GenericString", # required
3082
+ # monitor_name: "GenericString",
3083
+ # })
3084
+ #
3085
+ # @example Response structure
3086
+ #
3087
+ # resp.monitor_arn #=> String
3088
+ #
3089
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/UpdateAnomalyMonitor AWS API Documentation
3090
+ #
3091
+ # @overload update_anomaly_monitor(params = {})
3092
+ # @param [Hash] params ({})
3093
+ def update_anomaly_monitor(params = {}, options = {})
3094
+ req = build_request(:update_anomaly_monitor, params)
3095
+ req.send_request(options)
3096
+ end
3097
+
3098
+ # Updates an existing cost anomaly monitor subscription.
3099
+ #
3100
+ # @option params [required, String] :subscription_arn
3101
+ # A cost anomaly subscription Amazon Resource Name (ARN).
3102
+ #
3103
+ # @option params [Float] :threshold
3104
+ # The update to the threshold value for receiving notifications.
3105
+ #
3106
+ # @option params [String] :frequency
3107
+ # The update to the frequency value at which subscribers will receive
3108
+ # notifications.
3109
+ #
3110
+ # @option params [Array<String>] :monitor_arn_list
3111
+ # A list of cost anomaly subscription ARNs.
3112
+ #
3113
+ # @option params [Array<Types::Subscriber>] :subscribers
3114
+ # The update to the subscriber list.
3115
+ #
3116
+ # @option params [String] :subscription_name
3117
+ # The subscription's new name.
3118
+ #
3119
+ # @return [Types::UpdateAnomalySubscriptionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3120
+ #
3121
+ # * {Types::UpdateAnomalySubscriptionResponse#subscription_arn #subscription_arn} => String
3122
+ #
3123
+ # @example Request syntax with placeholder values
3124
+ #
3125
+ # resp = client.update_anomaly_subscription({
3126
+ # subscription_arn: "GenericString", # required
3127
+ # threshold: 1.0,
3128
+ # frequency: "DAILY", # accepts DAILY, IMMEDIATE, WEEKLY
3129
+ # monitor_arn_list: ["Value"],
3130
+ # subscribers: [
3131
+ # {
3132
+ # address: "SubscriberAddress",
3133
+ # type: "EMAIL", # accepts EMAIL, SNS
3134
+ # status: "CONFIRMED", # accepts CONFIRMED, DECLINED
3135
+ # },
3136
+ # ],
3137
+ # subscription_name: "GenericString",
3138
+ # })
3139
+ #
3140
+ # @example Response structure
3141
+ #
3142
+ # resp.subscription_arn #=> String
3143
+ #
3144
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/UpdateAnomalySubscription AWS API Documentation
3145
+ #
3146
+ # @overload update_anomaly_subscription(params = {})
3147
+ # @param [Hash] params ({})
3148
+ def update_anomaly_subscription(params = {}, options = {})
3149
+ req = build_request(:update_anomaly_subscription, params)
3150
+ req.send_request(options)
3151
+ end
3152
+
2638
3153
  # Updates an existing Cost Category. Changes made to the Cost Category
2639
3154
  # rules will be used to categorize the current month’s expenses and
2640
3155
  # future expenses. This won’t change categorization for the previous
@@ -2727,7 +3242,7 @@ module Aws::CostExplorer
2727
3242
  params: params,
2728
3243
  config: config)
2729
3244
  context[:gem_name] = 'aws-sdk-costexplorer'
2730
- context[:gem_version] = '1.45.0'
3245
+ context[:gem_version] = '1.50.0'
2731
3246
  Seahorse::Client::Request.new(handlers, context)
2732
3247
  end
2733
3248