aws-sdk-devopsguru 1.5.0 → 1.9.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: d33465b731f79de2f23b1233cc715ddef2fd6059f2f3908acdfa1b7ba74fd68e
4
- data.tar.gz: 4a3bd46d8eb5b549612a3773b432a5163f899fbdf8a486d40cda1e893f688ca5
3
+ metadata.gz: '0759a7411d720ac35aa65d839279bc2567538498758ebd9529b9888fbb32bfd9'
4
+ data.tar.gz: 79361ce3f443948e5cded95da1a1b4b76d29733b53a35470bf166f617d7954d7
5
5
  SHA512:
6
- metadata.gz: a8ce893963d239d0510ea1a66bb2ba72fe05d52521687d5961dd777285b4d23545e84e5b12f0ad73493d5f40e4796b3058c9dd61c739d2105d2eeb839ed091a0
7
- data.tar.gz: 3e6d9529d8100afb9a7b2076057c038238f92fcf4a303d35161bb7229cce07f5358aa63b6ce4510fb08e20c1766bda5a35a09b8e86e259f82057eca0cfaf4e93
6
+ metadata.gz: 70f69e02e2ecc689fa7bc7733d4c211e729c3619c8cef182ef863f44263369f143932bc704d2b5c71f9b9d66dad6b784982d260929770f0acee6a2386eda7e37
7
+ data.tar.gz: 82de9e62fee9351ac1e6dc59a61128cd313f14d69693e4a25af766c0204def4c88f0271fffc1cd1dee7a5e2364062d4e5f395b823d17dc7b5d56efbb9f8b022a
data/CHANGELOG.md CHANGED
@@ -1,6 +1,26 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.9.0 (2021-07-28)
5
+ ------------------
6
+
7
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
8
+
9
+ 1.8.0 (2021-07-13)
10
+ ------------------
11
+
12
+ * Feature - Add paginator for GetCostEstimation
13
+
14
+ 1.7.0 (2021-07-08)
15
+ ------------------
16
+
17
+ * Feature - Add AnomalyReportedTimeRange field to include open and close time of anomalies.
18
+
19
+ 1.6.0 (2021-05-04)
20
+ ------------------
21
+
22
+ * Feature - Added GetCostEstimation and StartCostEstimation to get the monthly resource usage cost and added ability to view resource health by AWS service name and to search insights be AWS service name.
23
+
4
24
  1.5.0 (2021-03-10)
5
25
  ------------------
6
26
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.5.0
1
+ 1.9.0
@@ -48,6 +48,6 @@ require_relative 'aws-sdk-devopsguru/customizations'
48
48
  # @!group service
49
49
  module Aws::DevOpsGuru
50
50
 
51
- GEM_VERSION = '1.5.0'
51
+ GEM_VERSION = '1.9.0'
52
52
 
53
53
  end
@@ -475,6 +475,8 @@ module Aws::DevOpsGuru
475
475
  # resp.proactive_anomaly.update_time #=> Time
476
476
  # resp.proactive_anomaly.anomaly_time_range.start_time #=> Time
477
477
  # resp.proactive_anomaly.anomaly_time_range.end_time #=> Time
478
+ # resp.proactive_anomaly.anomaly_reported_time_range.open_time #=> Time
479
+ # resp.proactive_anomaly.anomaly_reported_time_range.close_time #=> Time
478
480
  # resp.proactive_anomaly.prediction_time_range.start_time #=> Time
479
481
  # resp.proactive_anomaly.prediction_time_range.end_time #=> Time
480
482
  # resp.proactive_anomaly.source_details.cloud_watch_metrics #=> Array
@@ -495,6 +497,8 @@ module Aws::DevOpsGuru
495
497
  # resp.reactive_anomaly.status #=> String, one of "ONGOING", "CLOSED"
496
498
  # resp.reactive_anomaly.anomaly_time_range.start_time #=> Time
497
499
  # resp.reactive_anomaly.anomaly_time_range.end_time #=> Time
500
+ # resp.reactive_anomaly.anomaly_reported_time_range.open_time #=> Time
501
+ # resp.reactive_anomaly.anomaly_reported_time_range.close_time #=> Time
498
502
  # resp.reactive_anomaly.source_details.cloud_watch_metrics #=> Array
499
503
  # resp.reactive_anomaly.source_details.cloud_watch_metrics[0].metric_name #=> String
500
504
  # resp.reactive_anomaly.source_details.cloud_watch_metrics[0].namespace #=> String
@@ -600,13 +604,15 @@ module Aws::DevOpsGuru
600
604
  # resource collections in your account. You specify the type of AWS
601
605
  # resources collection. The one type of AWS resource collection
602
606
  # supported is AWS CloudFormation stacks. DevOps Guru can be configured
603
- # to analyze only the AWS resources that are defined in the stacks.
607
+ # to analyze only the AWS resources that are defined in the stacks. You
608
+ # can specify up to 500 AWS CloudFormation stacks.
604
609
  #
605
610
  # @option params [required, String] :resource_collection_type
606
611
  # An AWS resource collection type. This type specifies how analyzed AWS
607
612
  # resources are defined. The one type of AWS resource collection
608
613
  # supported is AWS CloudFormation stacks. DevOps Guru can be configured
609
- # to analyze only the AWS resources that are defined in the stacks.
614
+ # to analyze only the AWS resources that are defined in the stacks. You
615
+ # can specify up to 500 AWS CloudFormation stacks.
610
616
  #
611
617
  # @option params [String] :next_token
612
618
  # The pagination token to use to retrieve the next page of results for
@@ -615,6 +621,7 @@ module Aws::DevOpsGuru
615
621
  # @return [Types::DescribeResourceCollectionHealthResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
616
622
  #
617
623
  # * {Types::DescribeResourceCollectionHealthResponse#cloud_formation #cloud_formation} => Array<Types::CloudFormationHealth>
624
+ # * {Types::DescribeResourceCollectionHealthResponse#service #service} => Array<Types::ServiceHealth>
618
625
  # * {Types::DescribeResourceCollectionHealthResponse#next_token #next_token} => String
619
626
  #
620
627
  # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
@@ -622,7 +629,7 @@ module Aws::DevOpsGuru
622
629
  # @example Request syntax with placeholder values
623
630
  #
624
631
  # resp = client.describe_resource_collection_health({
625
- # resource_collection_type: "AWS_CLOUD_FORMATION", # required, accepts AWS_CLOUD_FORMATION
632
+ # resource_collection_type: "AWS_CLOUD_FORMATION", # required, accepts AWS_CLOUD_FORMATION, AWS_SERVICE
626
633
  # next_token: "UuidNextToken",
627
634
  # })
628
635
  #
@@ -633,6 +640,10 @@ module Aws::DevOpsGuru
633
640
  # resp.cloud_formation[0].insight.open_proactive_insights #=> Integer
634
641
  # resp.cloud_formation[0].insight.open_reactive_insights #=> Integer
635
642
  # resp.cloud_formation[0].insight.mean_time_to_recover_in_milliseconds #=> Integer
643
+ # resp.service #=> Array
644
+ # resp.service[0].service_name #=> String, one of "API_GATEWAY", "APPLICATION_ELB", "AUTO_SCALING_GROUP", "CLOUD_FRONT", "DYNAMO_DB", "EC2", "ECS", "EKS", "ELASTIC_BEANSTALK", "ELASTI_CACHE", "ELB", "ES", "KINESIS", "LAMBDA", "NAT_GATEWAY", "NETWORK_ELB", "RDS", "REDSHIFT", "ROUTE_53", "S3", "SAGE_MAKER", "SNS", "SQS", "STEP_FUNCTIONS", "SWF"
645
+ # resp.service[0].insight.open_proactive_insights #=> Integer
646
+ # resp.service[0].insight.open_reactive_insights #=> Integer
636
647
  # resp.next_token #=> String
637
648
  #
638
649
  # @see http://docs.aws.amazon.com/goto/WebAPI/devops-guru-2020-12-01/DescribeResourceCollectionHealth AWS API Documentation
@@ -666,10 +677,66 @@ module Aws::DevOpsGuru
666
677
  req.send_request(options)
667
678
  end
668
679
 
680
+ # Returns an estimate of the monthly cost for DevOps Guru to analyze
681
+ # your AWS resources. For more information, see [Estimate your Amazon
682
+ # DevOps Guru costs][1] and [Amazon DevOps Guru pricing][2].
683
+ #
684
+ #
685
+ #
686
+ # [1]: https://docs.aws.amazon.com/devops-guru/latest/userguide/cost-estimate.html
687
+ # [2]: http://aws.amazon.com/devops-guru/pricing/
688
+ #
689
+ # @option params [String] :next_token
690
+ # The pagination token to use to retrieve the next page of results for
691
+ # this operation. If this value is null, it retrieves the first page.
692
+ #
693
+ # @return [Types::GetCostEstimationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
694
+ #
695
+ # * {Types::GetCostEstimationResponse#resource_collection #resource_collection} => Types::CostEstimationResourceCollectionFilter
696
+ # * {Types::GetCostEstimationResponse#status #status} => String
697
+ # * {Types::GetCostEstimationResponse#costs #costs} => Array<Types::ServiceResourceCost>
698
+ # * {Types::GetCostEstimationResponse#time_range #time_range} => Types::CostEstimationTimeRange
699
+ # * {Types::GetCostEstimationResponse#total_cost #total_cost} => Float
700
+ # * {Types::GetCostEstimationResponse#next_token #next_token} => String
701
+ #
702
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
703
+ #
704
+ # @example Request syntax with placeholder values
705
+ #
706
+ # resp = client.get_cost_estimation({
707
+ # next_token: "UuidNextToken",
708
+ # })
709
+ #
710
+ # @example Response structure
711
+ #
712
+ # resp.resource_collection.cloud_formation.stack_names #=> Array
713
+ # resp.resource_collection.cloud_formation.stack_names[0] #=> String
714
+ # resp.status #=> String, one of "ONGOING", "COMPLETED"
715
+ # resp.costs #=> Array
716
+ # resp.costs[0].type #=> String
717
+ # resp.costs[0].state #=> String, one of "ACTIVE", "INACTIVE"
718
+ # resp.costs[0].count #=> Integer
719
+ # resp.costs[0].unit_cost #=> Float
720
+ # resp.costs[0].cost #=> Float
721
+ # resp.time_range.start_time #=> Time
722
+ # resp.time_range.end_time #=> Time
723
+ # resp.total_cost #=> Float
724
+ # resp.next_token #=> String
725
+ #
726
+ # @see http://docs.aws.amazon.com/goto/WebAPI/devops-guru-2020-12-01/GetCostEstimation AWS API Documentation
727
+ #
728
+ # @overload get_cost_estimation(params = {})
729
+ # @param [Hash] params ({})
730
+ def get_cost_estimation(params = {}, options = {})
731
+ req = build_request(:get_cost_estimation, params)
732
+ req.send_request(options)
733
+ end
734
+
669
735
  # Returns lists AWS resources that are of the specified resource
670
736
  # collection type. The one type of AWS resource collection supported is
671
737
  # AWS CloudFormation stacks. DevOps Guru can be configured to analyze
672
- # only the AWS resources that are defined in the stacks.
738
+ # only the AWS resources that are defined in the stacks. You can specify
739
+ # up to 500 AWS CloudFormation stacks.
673
740
  #
674
741
  # @option params [required, String] :resource_collection_type
675
742
  # The type of AWS resource collections to return. The one valid value is
@@ -689,7 +756,7 @@ module Aws::DevOpsGuru
689
756
  # @example Request syntax with placeholder values
690
757
  #
691
758
  # resp = client.get_resource_collection({
692
- # resource_collection_type: "AWS_CLOUD_FORMATION", # required, accepts AWS_CLOUD_FORMATION
759
+ # resource_collection_type: "AWS_CLOUD_FORMATION", # required, accepts AWS_CLOUD_FORMATION, AWS_SERVICE
693
760
  # next_token: "UuidNextToken",
694
761
  # })
695
762
  #
@@ -756,6 +823,8 @@ module Aws::DevOpsGuru
756
823
  # resp.proactive_anomalies[0].update_time #=> Time
757
824
  # resp.proactive_anomalies[0].anomaly_time_range.start_time #=> Time
758
825
  # resp.proactive_anomalies[0].anomaly_time_range.end_time #=> Time
826
+ # resp.proactive_anomalies[0].anomaly_reported_time_range.open_time #=> Time
827
+ # resp.proactive_anomalies[0].anomaly_reported_time_range.close_time #=> Time
759
828
  # resp.proactive_anomalies[0].prediction_time_range.start_time #=> Time
760
829
  # resp.proactive_anomalies[0].prediction_time_range.end_time #=> Time
761
830
  # resp.proactive_anomalies[0].source_details.cloud_watch_metrics #=> Array
@@ -777,6 +846,8 @@ module Aws::DevOpsGuru
777
846
  # resp.reactive_anomalies[0].status #=> String, one of "ONGOING", "CLOSED"
778
847
  # resp.reactive_anomalies[0].anomaly_time_range.start_time #=> Time
779
848
  # resp.reactive_anomalies[0].anomaly_time_range.end_time #=> Time
849
+ # resp.reactive_anomalies[0].anomaly_reported_time_range.open_time #=> Time
850
+ # resp.reactive_anomalies[0].anomaly_reported_time_range.close_time #=> Time
780
851
  # resp.reactive_anomalies[0].source_details.cloud_watch_metrics #=> Array
781
852
  # resp.reactive_anomalies[0].source_details.cloud_watch_metrics[0].metric_name #=> String
782
853
  # resp.reactive_anomalies[0].source_details.cloud_watch_metrics[0].namespace #=> String
@@ -935,6 +1006,8 @@ module Aws::DevOpsGuru
935
1006
  # resp.proactive_insights[0].prediction_time_range.end_time #=> Time
936
1007
  # resp.proactive_insights[0].resource_collection.cloud_formation.stack_names #=> Array
937
1008
  # resp.proactive_insights[0].resource_collection.cloud_formation.stack_names[0] #=> String
1009
+ # resp.proactive_insights[0].service_collection.service_names #=> Array
1010
+ # resp.proactive_insights[0].service_collection.service_names[0] #=> String, one of "API_GATEWAY", "APPLICATION_ELB", "AUTO_SCALING_GROUP", "CLOUD_FRONT", "DYNAMO_DB", "EC2", "ECS", "EKS", "ELASTIC_BEANSTALK", "ELASTI_CACHE", "ELB", "ES", "KINESIS", "LAMBDA", "NAT_GATEWAY", "NETWORK_ELB", "RDS", "REDSHIFT", "ROUTE_53", "S3", "SAGE_MAKER", "SNS", "SQS", "STEP_FUNCTIONS", "SWF"
938
1011
  # resp.reactive_insights #=> Array
939
1012
  # resp.reactive_insights[0].id #=> String
940
1013
  # resp.reactive_insights[0].name #=> String
@@ -944,6 +1017,8 @@ module Aws::DevOpsGuru
944
1017
  # resp.reactive_insights[0].insight_time_range.end_time #=> Time
945
1018
  # resp.reactive_insights[0].resource_collection.cloud_formation.stack_names #=> Array
946
1019
  # resp.reactive_insights[0].resource_collection.cloud_formation.stack_names[0] #=> String
1020
+ # resp.reactive_insights[0].service_collection.service_names #=> Array
1021
+ # resp.reactive_insights[0].service_collection.service_names[0] #=> String, one of "API_GATEWAY", "APPLICATION_ELB", "AUTO_SCALING_GROUP", "CLOUD_FRONT", "DYNAMO_DB", "EC2", "ECS", "EKS", "ELASTIC_BEANSTALK", "ELASTI_CACHE", "ELB", "ES", "KINESIS", "LAMBDA", "NAT_GATEWAY", "NETWORK_ELB", "RDS", "REDSHIFT", "ROUTE_53", "S3", "SAGE_MAKER", "SNS", "SQS", "STEP_FUNCTIONS", "SWF"
947
1022
  # resp.next_token #=> String
948
1023
  #
949
1024
  # @see http://docs.aws.amazon.com/goto/WebAPI/devops-guru-2020-12-01/ListInsights AWS API Documentation
@@ -1005,6 +1080,9 @@ module Aws::DevOpsGuru
1005
1080
  # The pagination token to use to retrieve the next page of results for
1006
1081
  # this operation. If this value is null, it retrieves the first page.
1007
1082
  #
1083
+ # @option params [String] :locale
1084
+ # A locale that specifies the language to use for recommendations.
1085
+ #
1008
1086
  # @return [Types::ListRecommendationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1009
1087
  #
1010
1088
  # * {Types::ListRecommendationsResponse#recommendations #recommendations} => Array<Types::Recommendation>
@@ -1017,6 +1095,7 @@ module Aws::DevOpsGuru
1017
1095
  # resp = client.list_recommendations({
1018
1096
  # insight_id: "InsightId", # required
1019
1097
  # next_token: "UuidNextToken",
1098
+ # locale: "DE_DE", # accepts DE_DE, EN_US, EN_GB, ES_ES, FR_FR, IT_IT, JA_JP, KO_KR, PT_BR, ZH_CN, ZH_TW
1020
1099
  # })
1021
1100
  #
1022
1101
  # @example Response structure
@@ -1153,6 +1232,9 @@ module Aws::DevOpsGuru
1153
1232
  # stack_names: ["StackName"],
1154
1233
  # },
1155
1234
  # },
1235
+ # service_collection: {
1236
+ # service_names: ["API_GATEWAY"], # accepts API_GATEWAY, APPLICATION_ELB, AUTO_SCALING_GROUP, CLOUD_FRONT, DYNAMO_DB, EC2, ECS, EKS, ELASTIC_BEANSTALK, ELASTI_CACHE, ELB, ES, KINESIS, LAMBDA, NAT_GATEWAY, NETWORK_ELB, RDS, REDSHIFT, ROUTE_53, S3, SAGE_MAKER, SNS, SQS, STEP_FUNCTIONS, SWF
1237
+ # },
1156
1238
  # },
1157
1239
  # max_results: 1,
1158
1240
  # next_token: "UuidNextToken",
@@ -1172,6 +1254,8 @@ module Aws::DevOpsGuru
1172
1254
  # resp.proactive_insights[0].prediction_time_range.end_time #=> Time
1173
1255
  # resp.proactive_insights[0].resource_collection.cloud_formation.stack_names #=> Array
1174
1256
  # resp.proactive_insights[0].resource_collection.cloud_formation.stack_names[0] #=> String
1257
+ # resp.proactive_insights[0].service_collection.service_names #=> Array
1258
+ # resp.proactive_insights[0].service_collection.service_names[0] #=> String, one of "API_GATEWAY", "APPLICATION_ELB", "AUTO_SCALING_GROUP", "CLOUD_FRONT", "DYNAMO_DB", "EC2", "ECS", "EKS", "ELASTIC_BEANSTALK", "ELASTI_CACHE", "ELB", "ES", "KINESIS", "LAMBDA", "NAT_GATEWAY", "NETWORK_ELB", "RDS", "REDSHIFT", "ROUTE_53", "S3", "SAGE_MAKER", "SNS", "SQS", "STEP_FUNCTIONS", "SWF"
1175
1259
  # resp.reactive_insights #=> Array
1176
1260
  # resp.reactive_insights[0].id #=> String
1177
1261
  # resp.reactive_insights[0].name #=> String
@@ -1181,6 +1265,8 @@ module Aws::DevOpsGuru
1181
1265
  # resp.reactive_insights[0].insight_time_range.end_time #=> Time
1182
1266
  # resp.reactive_insights[0].resource_collection.cloud_formation.stack_names #=> Array
1183
1267
  # resp.reactive_insights[0].resource_collection.cloud_formation.stack_names[0] #=> String
1268
+ # resp.reactive_insights[0].service_collection.service_names #=> Array
1269
+ # resp.reactive_insights[0].service_collection.service_names[0] #=> String, one of "API_GATEWAY", "APPLICATION_ELB", "AUTO_SCALING_GROUP", "CLOUD_FRONT", "DYNAMO_DB", "EC2", "ECS", "EKS", "ELASTIC_BEANSTALK", "ELASTI_CACHE", "ELB", "ES", "KINESIS", "LAMBDA", "NAT_GATEWAY", "NETWORK_ELB", "RDS", "REDSHIFT", "ROUTE_53", "S3", "SAGE_MAKER", "SNS", "SQS", "STEP_FUNCTIONS", "SWF"
1184
1270
  # resp.next_token #=> String
1185
1271
  #
1186
1272
  # @see http://docs.aws.amazon.com/goto/WebAPI/devops-guru-2020-12-01/SearchInsights AWS API Documentation
@@ -1192,11 +1278,47 @@ module Aws::DevOpsGuru
1192
1278
  req.send_request(options)
1193
1279
  end
1194
1280
 
1281
+ # Starts the creation of an estimate of the monthly cost to analyze your
1282
+ # AWS resources.
1283
+ #
1284
+ # @option params [required, Types::CostEstimationResourceCollectionFilter] :resource_collection
1285
+ # The collection of AWS resources used to create a monthly DevOps Guru
1286
+ # cost estimate.
1287
+ #
1288
+ # @option params [String] :client_token
1289
+ # The idempotency token used to identify each cost estimate request.
1290
+ #
1291
+ # **A suitable default value is auto-generated.** You should normally
1292
+ # not need to pass this option.**
1293
+ #
1294
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1295
+ #
1296
+ # @example Request syntax with placeholder values
1297
+ #
1298
+ # resp = client.start_cost_estimation({
1299
+ # resource_collection: { # required
1300
+ # cloud_formation: {
1301
+ # stack_names: ["StackName"],
1302
+ # },
1303
+ # },
1304
+ # client_token: "ClientToken",
1305
+ # })
1306
+ #
1307
+ # @see http://docs.aws.amazon.com/goto/WebAPI/devops-guru-2020-12-01/StartCostEstimation AWS API Documentation
1308
+ #
1309
+ # @overload start_cost_estimation(params = {})
1310
+ # @param [Hash] params ({})
1311
+ def start_cost_estimation(params = {}, options = {})
1312
+ req = build_request(:start_cost_estimation, params)
1313
+ req.send_request(options)
1314
+ end
1315
+
1195
1316
  # Updates the collection of resources that DevOps Guru analyzes. The one
1196
1317
  # type of AWS resource collection supported is AWS CloudFormation
1197
1318
  # stacks. DevOps Guru can be configured to analyze only the AWS
1198
- # resources that are defined in the stacks. This method also creates the
1199
- # IAM role required for you to use DevOps Guru.
1319
+ # resources that are defined in the stacks. You can specify up to 500
1320
+ # AWS CloudFormation stacks. This method also creates the IAM role
1321
+ # required for you to use DevOps Guru.
1200
1322
  #
1201
1323
  # @option params [required, String] :action
1202
1324
  # Specifies if the resource collection in the request is added or
@@ -1271,7 +1393,7 @@ module Aws::DevOpsGuru
1271
1393
  params: params,
1272
1394
  config: config)
1273
1395
  context[:gem_name] = 'aws-sdk-devopsguru'
1274
- context[:gem_version] = '1.5.0'
1396
+ context[:gem_version] = '1.9.0'
1275
1397
  Seahorse::Client::Request.new(handlers, context)
1276
1398
  end
1277
1399
 
@@ -18,13 +18,16 @@ module Aws::DevOpsGuru
18
18
  AddNotificationChannelResponse = Shapes::StructureShape.new(name: 'AddNotificationChannelResponse')
19
19
  AnomalyId = Shapes::StringShape.new(name: 'AnomalyId')
20
20
  AnomalyLimit = Shapes::FloatShape.new(name: 'AnomalyLimit')
21
+ AnomalyReportedTimeRange = Shapes::StructureShape.new(name: 'AnomalyReportedTimeRange')
21
22
  AnomalySeverity = Shapes::StringShape.new(name: 'AnomalySeverity')
22
23
  AnomalySourceDetails = Shapes::StructureShape.new(name: 'AnomalySourceDetails')
23
24
  AnomalyStatus = Shapes::StringShape.new(name: 'AnomalyStatus')
24
25
  AnomalyTimeRange = Shapes::StructureShape.new(name: 'AnomalyTimeRange')
25
26
  Channels = Shapes::ListShape.new(name: 'Channels')
27
+ ClientToken = Shapes::StringShape.new(name: 'ClientToken')
26
28
  CloudFormationCollection = Shapes::StructureShape.new(name: 'CloudFormationCollection')
27
29
  CloudFormationCollectionFilter = Shapes::StructureShape.new(name: 'CloudFormationCollectionFilter')
30
+ CloudFormationCostEstimationResourceCollectionFilter = Shapes::StructureShape.new(name: 'CloudFormationCostEstimationResourceCollectionFilter')
28
31
  CloudFormationHealth = Shapes::StructureShape.new(name: 'CloudFormationHealth')
29
32
  CloudFormationHealths = Shapes::ListShape.new(name: 'CloudFormationHealths')
30
33
  CloudWatchMetricsDetail = Shapes::StructureShape.new(name: 'CloudWatchMetricsDetail')
@@ -39,6 +42,13 @@ module Aws::DevOpsGuru
39
42
  CloudWatchMetricsStat = Shapes::StringShape.new(name: 'CloudWatchMetricsStat')
40
43
  CloudWatchMetricsUnit = Shapes::StringShape.new(name: 'CloudWatchMetricsUnit')
41
44
  ConflictException = Shapes::StructureShape.new(name: 'ConflictException')
45
+ Cost = Shapes::FloatShape.new(name: 'Cost')
46
+ CostEstimationResourceCollectionFilter = Shapes::StructureShape.new(name: 'CostEstimationResourceCollectionFilter')
47
+ CostEstimationServiceResourceCount = Shapes::IntegerShape.new(name: 'CostEstimationServiceResourceCount')
48
+ CostEstimationServiceResourceState = Shapes::StringShape.new(name: 'CostEstimationServiceResourceState')
49
+ CostEstimationStackNames = Shapes::ListShape.new(name: 'CostEstimationStackNames')
50
+ CostEstimationStatus = Shapes::StringShape.new(name: 'CostEstimationStatus')
51
+ CostEstimationTimeRange = Shapes::StructureShape.new(name: 'CostEstimationTimeRange')
42
52
  DescribeAccountHealthRequest = Shapes::StructureShape.new(name: 'DescribeAccountHealthRequest')
43
53
  DescribeAccountHealthResponse = Shapes::StructureShape.new(name: 'DescribeAccountHealthResponse')
44
54
  DescribeAccountOverviewRequest = Shapes::StructureShape.new(name: 'DescribeAccountOverviewRequest')
@@ -71,6 +81,8 @@ module Aws::DevOpsGuru
71
81
  EventSource = Shapes::StringShape.new(name: 'EventSource')
72
82
  EventTimeRange = Shapes::StructureShape.new(name: 'EventTimeRange')
73
83
  Events = Shapes::ListShape.new(name: 'Events')
84
+ GetCostEstimationRequest = Shapes::StructureShape.new(name: 'GetCostEstimationRequest')
85
+ GetCostEstimationResponse = Shapes::StructureShape.new(name: 'GetCostEstimationResponse')
74
86
  GetResourceCollectionRequest = Shapes::StructureShape.new(name: 'GetResourceCollectionRequest')
75
87
  GetResourceCollectionResponse = Shapes::StructureShape.new(name: 'GetResourceCollectionResponse')
76
88
  InsightFeedback = Shapes::StructureShape.new(name: 'InsightFeedback')
@@ -103,6 +115,7 @@ module Aws::DevOpsGuru
103
115
  ListNotificationChannelsResponse = Shapes::StructureShape.new(name: 'ListNotificationChannelsResponse')
104
116
  ListRecommendationsRequest = Shapes::StructureShape.new(name: 'ListRecommendationsRequest')
105
117
  ListRecommendationsResponse = Shapes::StructureShape.new(name: 'ListRecommendationsResponse')
118
+ Locale = Shapes::StringShape.new(name: 'Locale')
106
119
  MeanTimeToRecoverInMilliseconds = Shapes::IntegerShape.new(name: 'MeanTimeToRecoverInMilliseconds')
107
120
  NotificationChannel = Shapes::StructureShape.new(name: 'NotificationChannel')
108
121
  NotificationChannelConfig = Shapes::StructureShape.new(name: 'NotificationChannelConfig')
@@ -164,17 +177,28 @@ module Aws::DevOpsGuru
164
177
  ResourceIdString = Shapes::StringShape.new(name: 'ResourceIdString')
165
178
  ResourceIdType = Shapes::StringShape.new(name: 'ResourceIdType')
166
179
  ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
180
+ ResourceType = Shapes::StringShape.new(name: 'ResourceType')
167
181
  RetryAfterSeconds = Shapes::IntegerShape.new(name: 'RetryAfterSeconds')
168
182
  SearchInsightsFilters = Shapes::StructureShape.new(name: 'SearchInsightsFilters')
169
183
  SearchInsightsMaxResults = Shapes::IntegerShape.new(name: 'SearchInsightsMaxResults')
170
184
  SearchInsightsRequest = Shapes::StructureShape.new(name: 'SearchInsightsRequest')
171
185
  SearchInsightsResponse = Shapes::StructureShape.new(name: 'SearchInsightsResponse')
186
+ ServiceCollection = Shapes::StructureShape.new(name: 'ServiceCollection')
187
+ ServiceHealth = Shapes::StructureShape.new(name: 'ServiceHealth')
188
+ ServiceHealths = Shapes::ListShape.new(name: 'ServiceHealths')
189
+ ServiceInsightHealth = Shapes::StructureShape.new(name: 'ServiceInsightHealth')
172
190
  ServiceIntegrationConfig = Shapes::StructureShape.new(name: 'ServiceIntegrationConfig')
191
+ ServiceName = Shapes::StringShape.new(name: 'ServiceName')
192
+ ServiceNames = Shapes::ListShape.new(name: 'ServiceNames')
173
193
  ServiceQuotaExceededException = Shapes::StructureShape.new(name: 'ServiceQuotaExceededException')
194
+ ServiceResourceCost = Shapes::StructureShape.new(name: 'ServiceResourceCost')
195
+ ServiceResourceCosts = Shapes::ListShape.new(name: 'ServiceResourceCosts')
174
196
  SnsChannelConfig = Shapes::StructureShape.new(name: 'SnsChannelConfig')
175
197
  SsmOpsItemId = Shapes::StringShape.new(name: 'SsmOpsItemId')
176
198
  StackName = Shapes::StringShape.new(name: 'StackName')
177
199
  StackNames = Shapes::ListShape.new(name: 'StackNames')
200
+ StartCostEstimationRequest = Shapes::StructureShape.new(name: 'StartCostEstimationRequest')
201
+ StartCostEstimationResponse = Shapes::StructureShape.new(name: 'StartCostEstimationResponse')
178
202
  StartTimeRange = Shapes::StructureShape.new(name: 'StartTimeRange')
179
203
  ThrottlingException = Shapes::StructureShape.new(name: 'ThrottlingException')
180
204
  Timestamp = Shapes::TimestampShape.new(name: 'Timestamp')
@@ -203,6 +227,10 @@ module Aws::DevOpsGuru
203
227
  AddNotificationChannelResponse.add_member(:id, Shapes::ShapeRef.new(shape: NotificationChannelId, required: true, location_name: "Id"))
204
228
  AddNotificationChannelResponse.struct_class = Types::AddNotificationChannelResponse
205
229
 
230
+ AnomalyReportedTimeRange.add_member(:open_time, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "OpenTime"))
231
+ AnomalyReportedTimeRange.add_member(:close_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "CloseTime"))
232
+ AnomalyReportedTimeRange.struct_class = Types::AnomalyReportedTimeRange
233
+
206
234
  AnomalySourceDetails.add_member(:cloud_watch_metrics, Shapes::ShapeRef.new(shape: CloudWatchMetricsDetails, location_name: "CloudWatchMetrics"))
207
235
  AnomalySourceDetails.struct_class = Types::AnomalySourceDetails
208
236
 
@@ -218,6 +246,9 @@ module Aws::DevOpsGuru
218
246
  CloudFormationCollectionFilter.add_member(:stack_names, Shapes::ShapeRef.new(shape: StackNames, location_name: "StackNames"))
219
247
  CloudFormationCollectionFilter.struct_class = Types::CloudFormationCollectionFilter
220
248
 
249
+ CloudFormationCostEstimationResourceCollectionFilter.add_member(:stack_names, Shapes::ShapeRef.new(shape: CostEstimationStackNames, location_name: "StackNames"))
250
+ CloudFormationCostEstimationResourceCollectionFilter.struct_class = Types::CloudFormationCostEstimationResourceCollectionFilter
251
+
221
252
  CloudFormationHealth.add_member(:stack_name, Shapes::ShapeRef.new(shape: StackName, location_name: "StackName"))
222
253
  CloudFormationHealth.add_member(:insight, Shapes::ShapeRef.new(shape: InsightHealth, location_name: "Insight"))
223
254
  CloudFormationHealth.struct_class = Types::CloudFormationHealth
@@ -245,6 +276,15 @@ module Aws::DevOpsGuru
245
276
  ConflictException.add_member(:resource_type, Shapes::ShapeRef.new(shape: ResourceIdType, required: true, location_name: "ResourceType"))
246
277
  ConflictException.struct_class = Types::ConflictException
247
278
 
279
+ CostEstimationResourceCollectionFilter.add_member(:cloud_formation, Shapes::ShapeRef.new(shape: CloudFormationCostEstimationResourceCollectionFilter, location_name: "CloudFormation"))
280
+ CostEstimationResourceCollectionFilter.struct_class = Types::CostEstimationResourceCollectionFilter
281
+
282
+ CostEstimationStackNames.member = Shapes::ShapeRef.new(shape: StackName)
283
+
284
+ CostEstimationTimeRange.add_member(:start_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "StartTime"))
285
+ CostEstimationTimeRange.add_member(:end_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "EndTime"))
286
+ CostEstimationTimeRange.struct_class = Types::CostEstimationTimeRange
287
+
248
288
  DescribeAccountHealthRequest.struct_class = Types::DescribeAccountHealthRequest
249
289
 
250
290
  DescribeAccountHealthResponse.add_member(:open_reactive_insights, Shapes::ShapeRef.new(shape: NumOpenReactiveInsights, required: true, location_name: "OpenReactiveInsights"))
@@ -287,6 +327,7 @@ module Aws::DevOpsGuru
287
327
  DescribeResourceCollectionHealthRequest.struct_class = Types::DescribeResourceCollectionHealthRequest
288
328
 
289
329
  DescribeResourceCollectionHealthResponse.add_member(:cloud_formation, Shapes::ShapeRef.new(shape: CloudFormationHealths, required: true, location_name: "CloudFormation"))
330
+ DescribeResourceCollectionHealthResponse.add_member(:service, Shapes::ShapeRef.new(shape: ServiceHealths, location_name: "Service"))
290
331
  DescribeResourceCollectionHealthResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: UuidNextToken, location_name: "NextToken"))
291
332
  DescribeResourceCollectionHealthResponse.struct_class = Types::DescribeResourceCollectionHealthResponse
292
333
 
@@ -322,6 +363,17 @@ module Aws::DevOpsGuru
322
363
 
323
364
  Events.member = Shapes::ShapeRef.new(shape: Event)
324
365
 
366
+ GetCostEstimationRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: UuidNextToken, location: "querystring", location_name: "NextToken"))
367
+ GetCostEstimationRequest.struct_class = Types::GetCostEstimationRequest
368
+
369
+ GetCostEstimationResponse.add_member(:resource_collection, Shapes::ShapeRef.new(shape: CostEstimationResourceCollectionFilter, location_name: "ResourceCollection"))
370
+ GetCostEstimationResponse.add_member(:status, Shapes::ShapeRef.new(shape: CostEstimationStatus, location_name: "Status"))
371
+ GetCostEstimationResponse.add_member(:costs, Shapes::ShapeRef.new(shape: ServiceResourceCosts, location_name: "Costs"))
372
+ GetCostEstimationResponse.add_member(:time_range, Shapes::ShapeRef.new(shape: CostEstimationTimeRange, location_name: "TimeRange"))
373
+ GetCostEstimationResponse.add_member(:total_cost, Shapes::ShapeRef.new(shape: Cost, location_name: "TotalCost"))
374
+ GetCostEstimationResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: UuidNextToken, location_name: "NextToken"))
375
+ GetCostEstimationResponse.struct_class = Types::GetCostEstimationResponse
376
+
325
377
  GetResourceCollectionRequest.add_member(:resource_collection_type, Shapes::ShapeRef.new(shape: ResourceCollectionType, required: true, location: "uri", location_name: "ResourceCollectionType"))
326
378
  GetResourceCollectionRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: UuidNextToken, location: "querystring", location_name: "NextToken"))
327
379
  GetResourceCollectionRequest.struct_class = Types::GetResourceCollectionRequest
@@ -414,6 +466,7 @@ module Aws::DevOpsGuru
414
466
 
415
467
  ListRecommendationsRequest.add_member(:insight_id, Shapes::ShapeRef.new(shape: InsightId, required: true, location_name: "InsightId"))
416
468
  ListRecommendationsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: UuidNextToken, location_name: "NextToken"))
469
+ ListRecommendationsRequest.add_member(:locale, Shapes::ShapeRef.new(shape: Locale, location_name: "Locale"))
417
470
  ListRecommendationsRequest.struct_class = Types::ListRecommendationsRequest
418
471
 
419
472
  ListRecommendationsResponse.add_member(:recommendations, Shapes::ShapeRef.new(shape: Recommendations, location_name: "Recommendations"))
@@ -444,6 +497,7 @@ module Aws::DevOpsGuru
444
497
  ProactiveAnomaly.add_member(:status, Shapes::ShapeRef.new(shape: AnomalyStatus, location_name: "Status"))
445
498
  ProactiveAnomaly.add_member(:update_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "UpdateTime"))
446
499
  ProactiveAnomaly.add_member(:anomaly_time_range, Shapes::ShapeRef.new(shape: AnomalyTimeRange, location_name: "AnomalyTimeRange"))
500
+ ProactiveAnomaly.add_member(:anomaly_reported_time_range, Shapes::ShapeRef.new(shape: AnomalyReportedTimeRange, location_name: "AnomalyReportedTimeRange"))
447
501
  ProactiveAnomaly.add_member(:prediction_time_range, Shapes::ShapeRef.new(shape: PredictionTimeRange, location_name: "PredictionTimeRange"))
448
502
  ProactiveAnomaly.add_member(:source_details, Shapes::ShapeRef.new(shape: AnomalySourceDetails, location_name: "SourceDetails"))
449
503
  ProactiveAnomaly.add_member(:associated_insight_id, Shapes::ShapeRef.new(shape: InsightId, location_name: "AssociatedInsightId"))
@@ -456,6 +510,7 @@ module Aws::DevOpsGuru
456
510
  ProactiveAnomalySummary.add_member(:status, Shapes::ShapeRef.new(shape: AnomalyStatus, location_name: "Status"))
457
511
  ProactiveAnomalySummary.add_member(:update_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "UpdateTime"))
458
512
  ProactiveAnomalySummary.add_member(:anomaly_time_range, Shapes::ShapeRef.new(shape: AnomalyTimeRange, location_name: "AnomalyTimeRange"))
513
+ ProactiveAnomalySummary.add_member(:anomaly_reported_time_range, Shapes::ShapeRef.new(shape: AnomalyReportedTimeRange, location_name: "AnomalyReportedTimeRange"))
459
514
  ProactiveAnomalySummary.add_member(:prediction_time_range, Shapes::ShapeRef.new(shape: PredictionTimeRange, location_name: "PredictionTimeRange"))
460
515
  ProactiveAnomalySummary.add_member(:source_details, Shapes::ShapeRef.new(shape: AnomalySourceDetails, location_name: "SourceDetails"))
461
516
  ProactiveAnomalySummary.add_member(:associated_insight_id, Shapes::ShapeRef.new(shape: InsightId, location_name: "AssociatedInsightId"))
@@ -480,6 +535,7 @@ module Aws::DevOpsGuru
480
535
  ProactiveInsightSummary.add_member(:insight_time_range, Shapes::ShapeRef.new(shape: InsightTimeRange, location_name: "InsightTimeRange"))
481
536
  ProactiveInsightSummary.add_member(:prediction_time_range, Shapes::ShapeRef.new(shape: PredictionTimeRange, location_name: "PredictionTimeRange"))
482
537
  ProactiveInsightSummary.add_member(:resource_collection, Shapes::ShapeRef.new(shape: ResourceCollection, location_name: "ResourceCollection"))
538
+ ProactiveInsightSummary.add_member(:service_collection, Shapes::ShapeRef.new(shape: ServiceCollection, location_name: "ServiceCollection"))
483
539
  ProactiveInsightSummary.struct_class = Types::ProactiveInsightSummary
484
540
 
485
541
  ProactiveInsights.member = Shapes::ShapeRef.new(shape: ProactiveInsightSummary)
@@ -495,6 +551,7 @@ module Aws::DevOpsGuru
495
551
  ReactiveAnomaly.add_member(:severity, Shapes::ShapeRef.new(shape: AnomalySeverity, location_name: "Severity"))
496
552
  ReactiveAnomaly.add_member(:status, Shapes::ShapeRef.new(shape: AnomalyStatus, location_name: "Status"))
497
553
  ReactiveAnomaly.add_member(:anomaly_time_range, Shapes::ShapeRef.new(shape: AnomalyTimeRange, location_name: "AnomalyTimeRange"))
554
+ ReactiveAnomaly.add_member(:anomaly_reported_time_range, Shapes::ShapeRef.new(shape: AnomalyReportedTimeRange, location_name: "AnomalyReportedTimeRange"))
498
555
  ReactiveAnomaly.add_member(:source_details, Shapes::ShapeRef.new(shape: AnomalySourceDetails, location_name: "SourceDetails"))
499
556
  ReactiveAnomaly.add_member(:associated_insight_id, Shapes::ShapeRef.new(shape: InsightId, location_name: "AssociatedInsightId"))
500
557
  ReactiveAnomaly.add_member(:resource_collection, Shapes::ShapeRef.new(shape: ResourceCollection, location_name: "ResourceCollection"))
@@ -504,6 +561,7 @@ module Aws::DevOpsGuru
504
561
  ReactiveAnomalySummary.add_member(:severity, Shapes::ShapeRef.new(shape: AnomalySeverity, location_name: "Severity"))
505
562
  ReactiveAnomalySummary.add_member(:status, Shapes::ShapeRef.new(shape: AnomalyStatus, location_name: "Status"))
506
563
  ReactiveAnomalySummary.add_member(:anomaly_time_range, Shapes::ShapeRef.new(shape: AnomalyTimeRange, location_name: "AnomalyTimeRange"))
564
+ ReactiveAnomalySummary.add_member(:anomaly_reported_time_range, Shapes::ShapeRef.new(shape: AnomalyReportedTimeRange, location_name: "AnomalyReportedTimeRange"))
507
565
  ReactiveAnomalySummary.add_member(:source_details, Shapes::ShapeRef.new(shape: AnomalySourceDetails, location_name: "SourceDetails"))
508
566
  ReactiveAnomalySummary.add_member(:associated_insight_id, Shapes::ShapeRef.new(shape: InsightId, location_name: "AssociatedInsightId"))
509
567
  ReactiveAnomalySummary.add_member(:resource_collection, Shapes::ShapeRef.new(shape: ResourceCollection, location_name: "ResourceCollection"))
@@ -524,6 +582,7 @@ module Aws::DevOpsGuru
524
582
  ReactiveInsightSummary.add_member(:status, Shapes::ShapeRef.new(shape: InsightStatus, location_name: "Status"))
525
583
  ReactiveInsightSummary.add_member(:insight_time_range, Shapes::ShapeRef.new(shape: InsightTimeRange, location_name: "InsightTimeRange"))
526
584
  ReactiveInsightSummary.add_member(:resource_collection, Shapes::ShapeRef.new(shape: ResourceCollection, location_name: "ResourceCollection"))
585
+ ReactiveInsightSummary.add_member(:service_collection, Shapes::ShapeRef.new(shape: ServiceCollection, location_name: "ServiceCollection"))
527
586
  ReactiveInsightSummary.struct_class = Types::ReactiveInsightSummary
528
587
 
529
588
  ReactiveInsights.member = Shapes::ShapeRef.new(shape: ReactiveInsightSummary)
@@ -592,6 +651,7 @@ module Aws::DevOpsGuru
592
651
  SearchInsightsFilters.add_member(:severities, Shapes::ShapeRef.new(shape: InsightSeverities, location_name: "Severities"))
593
652
  SearchInsightsFilters.add_member(:statuses, Shapes::ShapeRef.new(shape: InsightStatuses, location_name: "Statuses"))
594
653
  SearchInsightsFilters.add_member(:resource_collection, Shapes::ShapeRef.new(shape: ResourceCollection, location_name: "ResourceCollection"))
654
+ SearchInsightsFilters.add_member(:service_collection, Shapes::ShapeRef.new(shape: ServiceCollection, location_name: "ServiceCollection"))
595
655
  SearchInsightsFilters.struct_class = Types::SearchInsightsFilters
596
656
 
597
657
  SearchInsightsRequest.add_member(:start_time_range, Shapes::ShapeRef.new(shape: StartTimeRange, required: true, location_name: "StartTimeRange"))
@@ -606,17 +666,47 @@ module Aws::DevOpsGuru
606
666
  SearchInsightsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: UuidNextToken, location_name: "NextToken"))
607
667
  SearchInsightsResponse.struct_class = Types::SearchInsightsResponse
608
668
 
669
+ ServiceCollection.add_member(:service_names, Shapes::ShapeRef.new(shape: ServiceNames, location_name: "ServiceNames"))
670
+ ServiceCollection.struct_class = Types::ServiceCollection
671
+
672
+ ServiceHealth.add_member(:service_name, Shapes::ShapeRef.new(shape: ServiceName, location_name: "ServiceName"))
673
+ ServiceHealth.add_member(:insight, Shapes::ShapeRef.new(shape: ServiceInsightHealth, location_name: "Insight"))
674
+ ServiceHealth.struct_class = Types::ServiceHealth
675
+
676
+ ServiceHealths.member = Shapes::ShapeRef.new(shape: ServiceHealth)
677
+
678
+ ServiceInsightHealth.add_member(:open_proactive_insights, Shapes::ShapeRef.new(shape: NumOpenProactiveInsights, location_name: "OpenProactiveInsights"))
679
+ ServiceInsightHealth.add_member(:open_reactive_insights, Shapes::ShapeRef.new(shape: NumOpenReactiveInsights, location_name: "OpenReactiveInsights"))
680
+ ServiceInsightHealth.struct_class = Types::ServiceInsightHealth
681
+
609
682
  ServiceIntegrationConfig.add_member(:ops_center, Shapes::ShapeRef.new(shape: OpsCenterIntegration, location_name: "OpsCenter"))
610
683
  ServiceIntegrationConfig.struct_class = Types::ServiceIntegrationConfig
611
684
 
685
+ ServiceNames.member = Shapes::ShapeRef.new(shape: ServiceName)
686
+
612
687
  ServiceQuotaExceededException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessageString, location_name: "Message"))
613
688
  ServiceQuotaExceededException.struct_class = Types::ServiceQuotaExceededException
614
689
 
690
+ ServiceResourceCost.add_member(:type, Shapes::ShapeRef.new(shape: ResourceType, location_name: "Type"))
691
+ ServiceResourceCost.add_member(:state, Shapes::ShapeRef.new(shape: CostEstimationServiceResourceState, location_name: "State"))
692
+ ServiceResourceCost.add_member(:count, Shapes::ShapeRef.new(shape: CostEstimationServiceResourceCount, location_name: "Count"))
693
+ ServiceResourceCost.add_member(:unit_cost, Shapes::ShapeRef.new(shape: Cost, location_name: "UnitCost"))
694
+ ServiceResourceCost.add_member(:cost, Shapes::ShapeRef.new(shape: Cost, location_name: "Cost"))
695
+ ServiceResourceCost.struct_class = Types::ServiceResourceCost
696
+
697
+ ServiceResourceCosts.member = Shapes::ShapeRef.new(shape: ServiceResourceCost)
698
+
615
699
  SnsChannelConfig.add_member(:topic_arn, Shapes::ShapeRef.new(shape: TopicArn, location_name: "TopicArn"))
616
700
  SnsChannelConfig.struct_class = Types::SnsChannelConfig
617
701
 
618
702
  StackNames.member = Shapes::ShapeRef.new(shape: StackName)
619
703
 
704
+ StartCostEstimationRequest.add_member(:resource_collection, Shapes::ShapeRef.new(shape: CostEstimationResourceCollectionFilter, required: true, location_name: "ResourceCollection"))
705
+ StartCostEstimationRequest.add_member(:client_token, Shapes::ShapeRef.new(shape: ClientToken, location_name: "ClientToken", metadata: {"idempotencyToken"=>true}))
706
+ StartCostEstimationRequest.struct_class = Types::StartCostEstimationRequest
707
+
708
+ StartCostEstimationResponse.struct_class = Types::StartCostEstimationResponse
709
+
620
710
  StartTimeRange.add_member(:from_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "FromTime"))
621
711
  StartTimeRange.add_member(:to_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "ToTime"))
622
712
  StartTimeRange.struct_class = Types::StartTimeRange
@@ -785,6 +875,24 @@ module Aws::DevOpsGuru
785
875
  o.errors << Shapes::ShapeRef.new(shape: ValidationException)
786
876
  end)
787
877
 
878
+ api.add_operation(:get_cost_estimation, Seahorse::Model::Operation.new.tap do |o|
879
+ o.name = "GetCostEstimation"
880
+ o.http_method = "GET"
881
+ o.http_request_uri = "/cost-estimation"
882
+ o.input = Shapes::ShapeRef.new(shape: GetCostEstimationRequest)
883
+ o.output = Shapes::ShapeRef.new(shape: GetCostEstimationResponse)
884
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
885
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
886
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
887
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
888
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
889
+ o[:pager] = Aws::Pager.new(
890
+ tokens: {
891
+ "next_token" => "next_token"
892
+ }
893
+ )
894
+ end)
895
+
788
896
  api.add_operation(:get_resource_collection, Seahorse::Model::Operation.new.tap do |o|
789
897
  o.name = "GetResourceCollection"
790
898
  o.http_method = "GET"
@@ -940,6 +1048,20 @@ module Aws::DevOpsGuru
940
1048
  )
941
1049
  end)
942
1050
 
1051
+ api.add_operation(:start_cost_estimation, Seahorse::Model::Operation.new.tap do |o|
1052
+ o.name = "StartCostEstimation"
1053
+ o.http_method = "PUT"
1054
+ o.http_request_uri = "/cost-estimation"
1055
+ o.input = Shapes::ShapeRef.new(shape: StartCostEstimationRequest)
1056
+ o.output = Shapes::ShapeRef.new(shape: StartCostEstimationResponse)
1057
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1058
+ o.errors << Shapes::ShapeRef.new(shape: ConflictException)
1059
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
1060
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1061
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1062
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
1063
+ end)
1064
+
943
1065
  api.add_operation(:update_resource_collection, Seahorse::Model::Operation.new.tap do |o|
944
1066
  o.name = "UpdateResourceCollection"
945
1067
  o.http_method = "PUT"