aws-sdk-costexplorer 1.79.0 → 1.81.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: 8235b2e6ddc5a141870c3c1804ab27a409a8e3e87c25e7e80a4497d210c365e3
4
- data.tar.gz: fb8c669d58df2f1599dcded161a49c1d72608be440ea047157c42d8e27eb521c
3
+ metadata.gz: 9b57bdb9b69fa8c69f89521c2ea6da92860886dde37f515a53ef4a38d24f27ac
4
+ data.tar.gz: 6fb8bd7f1a669f1477bbd1ec745af4a254a00cc55c2fd491dd4f89ecb9cbeb18
5
5
  SHA512:
6
- metadata.gz: 5a01e6b41373407adeb71f17c99bff1033c26f526660b35d7500391cf752ba01c0c7cfb46b715dc8bc7e4ec7d33e167a885edaeaaa4f933c2eb8daeeba93f898
7
- data.tar.gz: 1fdce2a02a598f1fdac2e06835bef418e86cdee62fb4e007d64cb191ad1948ab9136a38ea0c6700908e66a421d146f0f18e617eb171bfc41d936a794a56e1a0f
6
+ metadata.gz: ce34d0967fabf8eb504ee80c505453d8d06e628dd0786363ee2bb93d5d277d088f44cb354b3a421f29f10517a1e30d7a6f2340dd4ccac8a2963870d1c4231ba8
7
+ data.tar.gz: dd19938f97917d3511b0f0bdd1b9713367216f74da4b139d122c9d649f2215d2f1c84bc3cf95f5cae0bf82368409fa8993b55625c9627c6f556724f1df049c10
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.81.0 (2022-12-07)
5
+ ------------------
6
+
7
+ * Feature - This release adds the LinkedAccountName field to the GetAnomalies API response under RootCause
8
+
9
+ 1.80.0 (2022-12-05)
10
+ ------------------
11
+
12
+ * Feature - This release introduces two new APIs that offer a 1-click experience to refresh Savings Plans recommendations. The two APIs are StartSavingsPlansPurchaseRecommendationGeneration and ListSavingsPlansPurchaseRecommendationGeneration.
13
+
4
14
  1.79.0 (2022-10-25)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.79.0
1
+ 1.81.0
@@ -930,6 +930,7 @@ module Aws::CostExplorer
930
930
  # resp.anomalies[0].root_causes[0].region #=> String
931
931
  # resp.anomalies[0].root_causes[0].linked_account #=> String
932
932
  # resp.anomalies[0].root_causes[0].usage_type #=> String
933
+ # resp.anomalies[0].root_causes[0].linked_account_name #=> String
933
934
  # resp.anomalies[0].anomaly_score.max_score #=> Float
934
935
  # resp.anomalies[0].anomaly_score.current_score #=> Float
935
936
  # resp.anomalies[0].impact.max_impact #=> Float
@@ -3292,8 +3293,10 @@ module Aws::CostExplorer
3292
3293
  req.send_request(options)
3293
3294
  end
3294
3295
 
3295
- # Retrieves your request parameters, Savings Plan Recommendations
3296
- # Summary and Details.
3296
+ # Retrieves the Savings Plans recommendations for your account. First
3297
+ # use `StartSavingsPlansPurchaseRecommendationGeneration` to generate a
3298
+ # new set of recommendations, and then use
3299
+ # `GetSavingsPlansPurchaseRecommendation` to retrieve them.
3297
3300
  #
3298
3301
  # @option params [required, String] :savings_plans_type
3299
3302
  # The Savings Plans recommendation type that's requested.
@@ -4208,6 +4211,55 @@ module Aws::CostExplorer
4208
4211
  req.send_request(options)
4209
4212
  end
4210
4213
 
4214
+ # Retrieves a list of your historical recommendation generations within
4215
+ # the past 30 days.
4216
+ #
4217
+ # @option params [String] :generation_status
4218
+ # The status of the recommendation generation.
4219
+ #
4220
+ # @option params [Array<String>] :recommendation_ids
4221
+ # The IDs for each specific recommendation.
4222
+ #
4223
+ # @option params [Integer] :page_size
4224
+ # The number of recommendations that you want returned in a single
4225
+ # response object.
4226
+ #
4227
+ # @option params [String] :next_page_token
4228
+ # The token to retrieve the next set of results.
4229
+ #
4230
+ # @return [Types::ListSavingsPlansPurchaseRecommendationGenerationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4231
+ #
4232
+ # * {Types::ListSavingsPlansPurchaseRecommendationGenerationResponse#generation_summary_list #generation_summary_list} => Array&lt;Types::GenerationSummary&gt;
4233
+ # * {Types::ListSavingsPlansPurchaseRecommendationGenerationResponse#next_page_token #next_page_token} => String
4234
+ #
4235
+ # @example Request syntax with placeholder values
4236
+ #
4237
+ # resp = client.list_savings_plans_purchase_recommendation_generation({
4238
+ # generation_status: "SUCCEEDED", # accepts SUCCEEDED, PROCESSING, FAILED
4239
+ # recommendation_ids: ["RecommendationId"],
4240
+ # page_size: 1,
4241
+ # next_page_token: "NextPageToken",
4242
+ # })
4243
+ #
4244
+ # @example Response structure
4245
+ #
4246
+ # resp.generation_summary_list #=> Array
4247
+ # resp.generation_summary_list[0].recommendation_id #=> String
4248
+ # resp.generation_summary_list[0].generation_status #=> String, one of "SUCCEEDED", "PROCESSING", "FAILED"
4249
+ # resp.generation_summary_list[0].generation_started_time #=> String
4250
+ # resp.generation_summary_list[0].generation_completion_time #=> String
4251
+ # resp.generation_summary_list[0].estimated_completion_time #=> String
4252
+ # resp.next_page_token #=> String
4253
+ #
4254
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/ListSavingsPlansPurchaseRecommendationGeneration AWS API Documentation
4255
+ #
4256
+ # @overload list_savings_plans_purchase_recommendation_generation(params = {})
4257
+ # @param [Hash] params ({})
4258
+ def list_savings_plans_purchase_recommendation_generation(params = {}, options = {})
4259
+ req = build_request(:list_savings_plans_purchase_recommendation_generation, params)
4260
+ req.send_request(options)
4261
+ end
4262
+
4211
4263
  # Returns a list of resource tags associated with the resource specified
4212
4264
  # by the Amazon Resource Name (ARN).
4213
4265
  #
@@ -4277,6 +4329,39 @@ module Aws::CostExplorer
4277
4329
  req.send_request(options)
4278
4330
  end
4279
4331
 
4332
+ # Requests a Savings Plans recommendation generation. This enables you
4333
+ # to calculate a fresh set of Savings Plans recommendations that takes
4334
+ # your latest usage data and current Savings Plans inventory into
4335
+ # account. You can refresh Savings Plans recommendations up to three
4336
+ # times daily for a consolidated billing family.
4337
+ #
4338
+ # <note markdown="1"> `StartSavingsPlansPurchaseRecommendationGeneration` has no request
4339
+ # syntax because no input parameters are needed to support this
4340
+ # operation.
4341
+ #
4342
+ # </note>
4343
+ #
4344
+ # @return [Types::StartSavingsPlansPurchaseRecommendationGenerationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4345
+ #
4346
+ # * {Types::StartSavingsPlansPurchaseRecommendationGenerationResponse#recommendation_id #recommendation_id} => String
4347
+ # * {Types::StartSavingsPlansPurchaseRecommendationGenerationResponse#generation_started_time #generation_started_time} => String
4348
+ # * {Types::StartSavingsPlansPurchaseRecommendationGenerationResponse#estimated_completion_time #estimated_completion_time} => String
4349
+ #
4350
+ # @example Response structure
4351
+ #
4352
+ # resp.recommendation_id #=> String
4353
+ # resp.generation_started_time #=> String
4354
+ # resp.estimated_completion_time #=> String
4355
+ #
4356
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/StartSavingsPlansPurchaseRecommendationGeneration AWS API Documentation
4357
+ #
4358
+ # @overload start_savings_plans_purchase_recommendation_generation(params = {})
4359
+ # @param [Hash] params ({})
4360
+ def start_savings_plans_purchase_recommendation_generation(params = {}, options = {})
4361
+ req = build_request(:start_savings_plans_purchase_recommendation_generation, params)
4362
+ req.send_request(options)
4363
+ end
4364
+
4280
4365
  # An API operation for adding one or more tags (key-value pairs) to a
4281
4366
  # resource.
4282
4367
  #
@@ -4634,7 +4719,7 @@ module Aws::CostExplorer
4634
4719
  params: params,
4635
4720
  config: config)
4636
4721
  context[:gem_name] = 'aws-sdk-costexplorer'
4637
- context[:gem_version] = '1.79.0'
4722
+ context[:gem_version] = '1.81.0'
4638
4723
  Seahorse::Client::Request.new(handlers, context)
4639
4724
  end
4640
4725
 
@@ -113,6 +113,10 @@ module Aws::CostExplorer
113
113
  FindingReasonCodes = Shapes::ListShape.new(name: 'FindingReasonCodes')
114
114
  ForecastResult = Shapes::StructureShape.new(name: 'ForecastResult')
115
115
  ForecastResultsByTime = Shapes::ListShape.new(name: 'ForecastResultsByTime')
116
+ GenerationExistsException = Shapes::StructureShape.new(name: 'GenerationExistsException')
117
+ GenerationStatus = Shapes::StringShape.new(name: 'GenerationStatus')
118
+ GenerationSummary = Shapes::StructureShape.new(name: 'GenerationSummary')
119
+ GenerationSummaryList = Shapes::ListShape.new(name: 'GenerationSummaryList')
116
120
  GenericBoolean = Shapes::BooleanShape.new(name: 'GenericBoolean')
117
121
  GenericDouble = Shapes::FloatShape.new(name: 'GenericDouble')
118
122
  GenericString = Shapes::StringShape.new(name: 'GenericString')
@@ -169,6 +173,8 @@ module Aws::CostExplorer
169
173
  ListCostAllocationTagsResponse = Shapes::StructureShape.new(name: 'ListCostAllocationTagsResponse')
170
174
  ListCostCategoryDefinitionsRequest = Shapes::StructureShape.new(name: 'ListCostCategoryDefinitionsRequest')
171
175
  ListCostCategoryDefinitionsResponse = Shapes::StructureShape.new(name: 'ListCostCategoryDefinitionsResponse')
176
+ ListSavingsPlansPurchaseRecommendationGenerationRequest = Shapes::StructureShape.new(name: 'ListSavingsPlansPurchaseRecommendationGenerationRequest')
177
+ ListSavingsPlansPurchaseRecommendationGenerationResponse = Shapes::StructureShape.new(name: 'ListSavingsPlansPurchaseRecommendationGenerationResponse')
172
178
  ListTagsForResourceRequest = Shapes::StructureShape.new(name: 'ListTagsForResourceRequest')
173
179
  ListTagsForResourceResponse = Shapes::StructureShape.new(name: 'ListTagsForResourceResponse')
174
180
  LookbackPeriodInDays = Shapes::StringShape.new(name: 'LookbackPeriodInDays')
@@ -209,6 +215,8 @@ module Aws::CostExplorer
209
215
  RDSInstanceDetails = Shapes::StructureShape.new(name: 'RDSInstanceDetails')
210
216
  RICostForUnusedHours = Shapes::StringShape.new(name: 'RICostForUnusedHours')
211
217
  RealizedSavings = Shapes::StringShape.new(name: 'RealizedSavings')
218
+ RecommendationId = Shapes::StringShape.new(name: 'RecommendationId')
219
+ RecommendationIdList = Shapes::ListShape.new(name: 'RecommendationIdList')
212
220
  RecommendationTarget = Shapes::StringShape.new(name: 'RecommendationTarget')
213
221
  RedshiftInstanceDetails = Shapes::StructureShape.new(name: 'RedshiftInstanceDetails')
214
222
  RequestChangedException = Shapes::StructureShape.new(name: 'RequestChangedException')
@@ -272,6 +280,8 @@ module Aws::CostExplorer
272
280
  SortDefinitionKey = Shapes::StringShape.new(name: 'SortDefinitionKey')
273
281
  SortDefinitions = Shapes::ListShape.new(name: 'SortDefinitions')
274
282
  SortOrder = Shapes::StringShape.new(name: 'SortOrder')
283
+ StartSavingsPlansPurchaseRecommendationGenerationRequest = Shapes::StructureShape.new(name: 'StartSavingsPlansPurchaseRecommendationGenerationRequest')
284
+ StartSavingsPlansPurchaseRecommendationGenerationResponse = Shapes::StructureShape.new(name: 'StartSavingsPlansPurchaseRecommendationGenerationResponse')
275
285
  Subscriber = Shapes::StructureShape.new(name: 'Subscriber')
276
286
  SubscriberAddress = Shapes::StringShape.new(name: 'SubscriberAddress')
277
287
  SubscriberStatus = Shapes::StringShape.new(name: 'SubscriberStatus')
@@ -645,6 +655,18 @@ module Aws::CostExplorer
645
655
 
646
656
  ForecastResultsByTime.member = Shapes::ShapeRef.new(shape: ForecastResult)
647
657
 
658
+ GenerationExistsException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
659
+ GenerationExistsException.struct_class = Types::GenerationExistsException
660
+
661
+ GenerationSummary.add_member(:recommendation_id, Shapes::ShapeRef.new(shape: RecommendationId, location_name: "RecommendationId"))
662
+ GenerationSummary.add_member(:generation_status, Shapes::ShapeRef.new(shape: GenerationStatus, location_name: "GenerationStatus"))
663
+ GenerationSummary.add_member(:generation_started_time, Shapes::ShapeRef.new(shape: ZonedDateTime, location_name: "GenerationStartedTime"))
664
+ GenerationSummary.add_member(:generation_completion_time, Shapes::ShapeRef.new(shape: ZonedDateTime, location_name: "GenerationCompletionTime"))
665
+ GenerationSummary.add_member(:estimated_completion_time, Shapes::ShapeRef.new(shape: ZonedDateTime, location_name: "EstimatedCompletionTime"))
666
+ GenerationSummary.struct_class = Types::GenerationSummary
667
+
668
+ GenerationSummaryList.member = Shapes::ShapeRef.new(shape: GenerationSummary)
669
+
648
670
  GetAnomaliesRequest.add_member(:monitor_arn, Shapes::ShapeRef.new(shape: GenericString, location_name: "MonitorArn"))
649
671
  GetAnomaliesRequest.add_member(:date_interval, Shapes::ShapeRef.new(shape: AnomalyDateInterval, required: true, location_name: "DateInterval"))
650
672
  GetAnomaliesRequest.add_member(:feedback, Shapes::ShapeRef.new(shape: AnomalyFeedbackType, location_name: "Feedback"))
@@ -937,6 +959,16 @@ module Aws::CostExplorer
937
959
  ListCostCategoryDefinitionsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextPageToken, location_name: "NextToken"))
938
960
  ListCostCategoryDefinitionsResponse.struct_class = Types::ListCostCategoryDefinitionsResponse
939
961
 
962
+ ListSavingsPlansPurchaseRecommendationGenerationRequest.add_member(:generation_status, Shapes::ShapeRef.new(shape: GenerationStatus, location_name: "GenerationStatus"))
963
+ ListSavingsPlansPurchaseRecommendationGenerationRequest.add_member(:recommendation_ids, Shapes::ShapeRef.new(shape: RecommendationIdList, location_name: "RecommendationIds"))
964
+ ListSavingsPlansPurchaseRecommendationGenerationRequest.add_member(:page_size, Shapes::ShapeRef.new(shape: NonNegativeInteger, location_name: "PageSize"))
965
+ ListSavingsPlansPurchaseRecommendationGenerationRequest.add_member(:next_page_token, Shapes::ShapeRef.new(shape: NextPageToken, location_name: "NextPageToken"))
966
+ ListSavingsPlansPurchaseRecommendationGenerationRequest.struct_class = Types::ListSavingsPlansPurchaseRecommendationGenerationRequest
967
+
968
+ ListSavingsPlansPurchaseRecommendationGenerationResponse.add_member(:generation_summary_list, Shapes::ShapeRef.new(shape: GenerationSummaryList, location_name: "GenerationSummaryList"))
969
+ ListSavingsPlansPurchaseRecommendationGenerationResponse.add_member(:next_page_token, Shapes::ShapeRef.new(shape: NextPageToken, location_name: "NextPageToken"))
970
+ ListSavingsPlansPurchaseRecommendationGenerationResponse.struct_class = Types::ListSavingsPlansPurchaseRecommendationGenerationResponse
971
+
940
972
  ListTagsForResourceRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: Arn, required: true, location_name: "ResourceArn"))
941
973
  ListTagsForResourceRequest.struct_class = Types::ListTagsForResourceRequest
942
974
 
@@ -985,6 +1017,8 @@ module Aws::CostExplorer
985
1017
  RDSInstanceDetails.add_member(:size_flex_eligible, Shapes::ShapeRef.new(shape: GenericBoolean, location_name: "SizeFlexEligible"))
986
1018
  RDSInstanceDetails.struct_class = Types::RDSInstanceDetails
987
1019
 
1020
+ RecommendationIdList.member = Shapes::ShapeRef.new(shape: RecommendationId)
1021
+
988
1022
  RedshiftInstanceDetails.add_member(:family, Shapes::ShapeRef.new(shape: GenericString, location_name: "Family"))
989
1023
  RedshiftInstanceDetails.add_member(:node_type, Shapes::ShapeRef.new(shape: GenericString, location_name: "NodeType"))
990
1024
  RedshiftInstanceDetails.add_member(:region, Shapes::ShapeRef.new(shape: GenericString, location_name: "Region"))
@@ -1127,6 +1161,7 @@ module Aws::CostExplorer
1127
1161
  RootCause.add_member(:region, Shapes::ShapeRef.new(shape: GenericString, location_name: "Region"))
1128
1162
  RootCause.add_member(:linked_account, Shapes::ShapeRef.new(shape: GenericString, location_name: "LinkedAccount"))
1129
1163
  RootCause.add_member(:usage_type, Shapes::ShapeRef.new(shape: GenericString, location_name: "UsageType"))
1164
+ RootCause.add_member(:linked_account_name, Shapes::ShapeRef.new(shape: GenericString, location_name: "LinkedAccountName"))
1130
1165
  RootCause.struct_class = Types::RootCause
1131
1166
 
1132
1167
  RootCauses.member = Shapes::ShapeRef.new(shape: RootCause)
@@ -1247,6 +1282,13 @@ module Aws::CostExplorer
1247
1282
 
1248
1283
  SortDefinitions.member = Shapes::ShapeRef.new(shape: SortDefinition)
1249
1284
 
1285
+ StartSavingsPlansPurchaseRecommendationGenerationRequest.struct_class = Types::StartSavingsPlansPurchaseRecommendationGenerationRequest
1286
+
1287
+ StartSavingsPlansPurchaseRecommendationGenerationResponse.add_member(:recommendation_id, Shapes::ShapeRef.new(shape: RecommendationId, location_name: "RecommendationId"))
1288
+ StartSavingsPlansPurchaseRecommendationGenerationResponse.add_member(:generation_started_time, Shapes::ShapeRef.new(shape: ZonedDateTime, location_name: "GenerationStartedTime"))
1289
+ StartSavingsPlansPurchaseRecommendationGenerationResponse.add_member(:estimated_completion_time, Shapes::ShapeRef.new(shape: ZonedDateTime, location_name: "EstimatedCompletionTime"))
1290
+ StartSavingsPlansPurchaseRecommendationGenerationResponse.struct_class = Types::StartSavingsPlansPurchaseRecommendationGenerationResponse
1291
+
1250
1292
  Subscriber.add_member(:address, Shapes::ShapeRef.new(shape: SubscriberAddress, location_name: "Address"))
1251
1293
  Subscriber.add_member(:type, Shapes::ShapeRef.new(shape: SubscriberType, location_name: "Type"))
1252
1294
  Subscriber.add_member(:status, Shapes::ShapeRef.new(shape: SubscriberStatus, location_name: "Status"))
@@ -1695,6 +1737,16 @@ module Aws::CostExplorer
1695
1737
  )
1696
1738
  end)
1697
1739
 
1740
+ api.add_operation(:list_savings_plans_purchase_recommendation_generation, Seahorse::Model::Operation.new.tap do |o|
1741
+ o.name = "ListSavingsPlansPurchaseRecommendationGeneration"
1742
+ o.http_method = "POST"
1743
+ o.http_request_uri = "/"
1744
+ o.input = Shapes::ShapeRef.new(shape: ListSavingsPlansPurchaseRecommendationGenerationRequest)
1745
+ o.output = Shapes::ShapeRef.new(shape: ListSavingsPlansPurchaseRecommendationGenerationResponse)
1746
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
1747
+ o.errors << Shapes::ShapeRef.new(shape: InvalidNextTokenException)
1748
+ end)
1749
+
1698
1750
  api.add_operation(:list_tags_for_resource, Seahorse::Model::Operation.new.tap do |o|
1699
1751
  o.name = "ListTagsForResource"
1700
1752
  o.http_method = "POST"
@@ -1714,6 +1766,17 @@ module Aws::CostExplorer
1714
1766
  o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
1715
1767
  end)
1716
1768
 
1769
+ api.add_operation(:start_savings_plans_purchase_recommendation_generation, Seahorse::Model::Operation.new.tap do |o|
1770
+ o.name = "StartSavingsPlansPurchaseRecommendationGeneration"
1771
+ o.http_method = "POST"
1772
+ o.http_request_uri = "/"
1773
+ o.input = Shapes::ShapeRef.new(shape: StartSavingsPlansPurchaseRecommendationGenerationRequest)
1774
+ o.output = Shapes::ShapeRef.new(shape: StartSavingsPlansPurchaseRecommendationGenerationResponse)
1775
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
1776
+ o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException)
1777
+ o.errors << Shapes::ShapeRef.new(shape: GenerationExistsException)
1778
+ end)
1779
+
1717
1780
  api.add_operation(:tag_resource, Seahorse::Model::Operation.new.tap do |o|
1718
1781
  o.name = "TagResource"
1719
1782
  o.http_method = "POST"
@@ -50,6 +50,9 @@ module Aws::CostExplorer
50
50
 
51
51
  def initialize(options = {})
52
52
  self[:region] = options[:region]
53
+ if self[:region].nil?
54
+ raise ArgumentError, "Missing required EndpointParameter: :region"
55
+ end
53
56
  self[:use_dual_stack] = options[:use_dual_stack]
54
57
  self[:use_dual_stack] = false if self[:use_dual_stack].nil?
55
58
  if self[:use_dual_stack].nil?