1// Code generated by smithy-go-codegen DO NOT EDIT.
2
3package types
4
5// An unusual cost pattern. This consists of the detailed metadata and the current
6// status of the anomaly object.
7type Anomaly struct {
8
9	// The unique identifier for the anomaly.
10	//
11	// This member is required.
12	AnomalyId *string
13
14	// The latest and maximum score for the anomaly.
15	//
16	// This member is required.
17	AnomalyScore *AnomalyScore
18
19	// The dollar impact for the anomaly.
20	//
21	// This member is required.
22	Impact *Impact
23
24	// The Amazon Resource Name (ARN) for the cost monitor that generated this anomaly.
25	//
26	// This member is required.
27	MonitorArn *string
28
29	// The last day the anomaly is detected.
30	AnomalyEndDate *string
31
32	// The first day the anomaly is detected.
33	AnomalyStartDate *string
34
35	// The dimension for the anomaly. For example, an AWS service in a service monitor.
36	DimensionValue *string
37
38	// The feedback value.
39	Feedback AnomalyFeedbackType
40
41	// The list of identified root causes for the anomaly.
42	RootCauses []RootCause
43}
44
45// The time period for an anomaly.
46type AnomalyDateInterval struct {
47
48	// The first date an anomaly was observed.
49	//
50	// This member is required.
51	StartDate *string
52
53	// The last date an anomaly was observed.
54	EndDate *string
55}
56
57// This object continuously inspects your account's cost data for anomalies, based
58// on MonitorType and MonitorSpecification. The content consists of detailed
59// metadata and the current status of the monitor object.
60type AnomalyMonitor struct {
61
62	// The name of the monitor.
63	//
64	// This member is required.
65	MonitorName *string
66
67	// The possible type values.
68	//
69	// This member is required.
70	MonitorType MonitorType
71
72	// The date when the monitor was created.
73	CreationDate *string
74
75	// The value for evaluated dimensions.
76	DimensionalValueCount int32
77
78	// The date when the monitor last evaluated for anomalies.
79	LastEvaluatedDate *string
80
81	// The date when the monitor was last updated.
82	LastUpdatedDate *string
83
84	// The Amazon Resource Name (ARN) value.
85	MonitorArn *string
86
87	// The dimensions to evaluate.
88	MonitorDimension MonitorDimension
89
90	// Use Expression to filter by cost or by usage. There are two patterns:
91	//
92	// * Simple
93	// dimension values - You can set the dimension name and values for the filters
94	// that you plan to use. For example, you can filter for REGION==us-east-1 OR
95	// REGION==us-west-1. For GetRightsizingRecommendation, the Region is a full name
96	// (for example, REGION==US East (N. Virginia). The Expression example looks like:
97	// { "Dimensions": { "Key": "REGION", "Values": [ "us-east-1", “us-west-1” ] } }
98	// The list of dimension values are OR'd together to retrieve cost or usage data.
99	// You can create Expression and DimensionValues objects using either with* methods
100	// or set* methods in multiple lines.
101	//
102	// * Compound dimension values with logical
103	// operations - You can use multiple Expression types and the logical operators
104	// AND/OR/NOT to create a list of one or more Expression objects. This allows you
105	// to filter on more advanced options. For example, you can filter on ((REGION ==
106	// us-east-1 OR REGION == us-west-1) OR (TAG.Type == Type1)) AND (USAGE_TYPE !=
107	// DataTransfer). The Expression for that looks like this: { "And": [ {"Or": [
108	// {"Dimensions": { "Key": "REGION", "Values": [ "us-east-1", "us-west-1" ] }},
109	// {"Tags": { "Key": "TagName", "Values": ["Value1"] } } ]}, {"Not": {"Dimensions":
110	// { "Key": "USAGE_TYPE", "Values": ["DataTransfer"] }}} ] }  Because each
111	// Expression can have only one operator, the service returns an error if more than
112	// one is specified. The following example shows an Expression object that creates
113	// an error.  { "And": [ ... ], "DimensionValues": { "Dimension": "USAGE_TYPE",
114	// "Values": [ "DataTransfer" ] } }
115	//
116	// For GetRightsizingRecommendation action, a
117	// combination of OR and NOT is not supported. OR is not supported between
118	// different dimensions, or dimensions and tags. NOT operators aren't supported.
119	// Dimensions are also limited to LINKED_ACCOUNT, REGION, or RIGHTSIZING_TYPE.
120	MonitorSpecification *Expression
121}
122
123// Quantifies the anomaly. The higher score means that it is more anomalous.
124type AnomalyScore struct {
125
126	// The last observed score.
127	//
128	// This member is required.
129	CurrentScore float64
130
131	// The maximum score observed during the AnomalyDateInterval.
132	//
133	// This member is required.
134	MaxScore float64
135}
136
137// The association between a monitor, threshold, and list of subscribers used to
138// deliver notifications about anomalies detected by a monitor that exceeds a
139// threshold. The content consists of the detailed metadata and the current status
140// of the AnomalySubscription object.
141type AnomalySubscription struct {
142
143	// The frequency at which anomaly reports are sent over email.
144	//
145	// This member is required.
146	Frequency AnomalySubscriptionFrequency
147
148	// A list of cost anomaly monitors.
149	//
150	// This member is required.
151	MonitorArnList []string
152
153	// A list of subscribers to notify.
154	//
155	// This member is required.
156	Subscribers []Subscriber
157
158	// The name for the subscription.
159	//
160	// This member is required.
161	SubscriptionName *string
162
163	// The dollar value that triggers a notification if the threshold is exceeded.
164	//
165	// This member is required.
166	Threshold *float64
167
168	// Your unique account identifier.
169	AccountId *string
170
171	// The AnomalySubscription Amazon Resource Name (ARN).
172	SubscriptionArn *string
173}
174
175// The structure of Cost Categories. This includes detailed metadata and the set of
176// rules for the CostCategory object.
177type CostCategory struct {
178
179	// The unique identifier for your Cost Category.
180	//
181	// This member is required.
182	CostCategoryArn *string
183
184	// The Cost Category's effective start date.
185	//
186	// This member is required.
187	EffectiveStart *string
188
189	// The unique name of the Cost Category.
190	//
191	// This member is required.
192	Name *string
193
194	// The rule schema version in this particular Cost Category.
195	//
196	// This member is required.
197	RuleVersion CostCategoryRuleVersion
198
199	// Rules are processed in order. If there are multiple rules that match the line
200	// item, then the first rule to match is used to determine that Cost Category
201	// value.
202	//
203	// This member is required.
204	Rules []CostCategoryRule
205
206	// The Cost Category's effective end date.
207	EffectiveEnd *string
208
209	// The list of processing statuses for Cost Management products for a specific cost
210	// category.
211	ProcessingStatus []CostCategoryProcessingStatus
212}
213
214// The list of processing statuses for Cost Management products for a specific cost
215// category.
216type CostCategoryProcessingStatus struct {
217
218	// The Cost Management product name of the applied status.
219	Component CostCategoryStatusComponent
220
221	// The process status for a specific cost category.
222	Status CostCategoryStatus
223}
224
225// A reference to a Cost Category containing only enough information to identify
226// the Cost Category. You can use this information to retrieve the full Cost
227// Category information using DescribeCostCategory.
228type CostCategoryReference struct {
229
230	// The unique identifier for your Cost Category.
231	CostCategoryArn *string
232
233	// The Cost Category's effective end date.
234	EffectiveEnd *string
235
236	// The Cost Category's effective start date.
237	EffectiveStart *string
238
239	// The unique name of the Cost Category.
240	Name *string
241
242	// The number of rules associated with a specific Cost Category.
243	NumberOfRules int32
244
245	// The list of processing statuses for Cost Management products for a specific cost
246	// category.
247	ProcessingStatus []CostCategoryProcessingStatus
248
249	// A list of unique cost category values in a specific cost category.
250	Values []string
251}
252
253// Rules are processed in order. If there are multiple rules that match the line
254// item, then the first rule to match is used to determine that Cost Category
255// value.
256type CostCategoryRule struct {
257
258	// An Expression
259	// (https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Expression.html)
260	// object used to categorize costs. This supports dimensions, tags, and nested
261	// expressions. Currently the only dimensions supported are LINKED_ACCOUNT,
262	// SERVICE_CODE, RECORD_TYPE, and LINKED_ACCOUNT_NAME. Root level OR is not
263	// supported. We recommend that you create a separate rule instead. RECORD_TYPE is
264	// a dimension used for Cost Explorer APIs, and is also supported for Cost Category
265	// expressions. This dimension uses different terms, depending on whether you're
266	// using the console or API/JSON editor. For a detailed comparison, see Term
267	// Comparisons
268	// (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/manage-cost-categories.html#cost-categories-terms)
269	// in the AWS Billing and Cost Management User Guide.
270	//
271	// This member is required.
272	Rule *Expression
273
274	// The value a line item will be categorized as, if it matches the rule.
275	//
276	// This member is required.
277	Value *string
278}
279
280// The Cost Categories values used for filtering the costs.
281type CostCategoryValues struct {
282
283	// The unique name of the Cost Category.
284	Key *string
285
286	// The match options that you can use to filter your results. MatchOptions is only
287	// applicable for only applicable for actions related to cost category. The default
288	// values for MatchOptions is EQUALS and CASE_SENSITIVE.
289	MatchOptions []MatchOption
290
291	// The specific value of the Cost Category.
292	Values []string
293}
294
295// The amount of instance usage that a reservation covered.
296type Coverage struct {
297
298	// The amount of cost that the reservation covered.
299	CoverageCost *CoverageCost
300
301	// The amount of instance usage that the reservation covered, in hours.
302	CoverageHours *CoverageHours
303
304	// The amount of instance usage that the reservation covered, in normalized units.
305	CoverageNormalizedUnits *CoverageNormalizedUnits
306}
307
308// Reservation coverage for a specified period, in hours.
309type CoverageByTime struct {
310
311	// The groups of instances that the reservation covered.
312	Groups []ReservationCoverageGroup
313
314	// The period that this coverage was used over.
315	TimePeriod *DateInterval
316
317	// The total reservation coverage, in hours.
318	Total *Coverage
319}
320
321// How much it costs to run an instance.
322type CoverageCost struct {
323
324	// How much an On-Demand Instance costs.
325	OnDemandCost *string
326}
327
328// How long a running instance either used a reservation or was On-Demand.
329type CoverageHours struct {
330
331	// The percentage of instance hours that a reservation covered.
332	CoverageHoursPercentage *string
333
334	// The number of instance running hours that On-Demand Instances covered.
335	OnDemandHours *string
336
337	// The number of instance running hours that reservations covered.
338	ReservedHours *string
339
340	// The total instance usage, in hours.
341	TotalRunningHours *string
342}
343
344// The amount of instance usage, in normalized units. Normalized units enable you
345// to see your EC2 usage for multiple sizes of instances in a uniform way. For
346// example, suppose you run an xlarge instance and a 2xlarge instance. If you run
347// both instances for the same amount of time, the 2xlarge instance uses twice as
348// much of your reservation as the xlarge instance, even though both instances show
349// only one instance-hour. Using normalized units instead of instance-hours, the
350// xlarge instance used 8 normalized units, and the 2xlarge instance used 16
351// normalized units. For more information, see Modifying Reserved Instances
352// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-modifying.html) in the
353// Amazon Elastic Compute Cloud User Guide for Linux Instances.
354type CoverageNormalizedUnits struct {
355
356	// The percentage of your used instance normalized units that a reservation covers.
357	CoverageNormalizedUnitsPercentage *string
358
359	// The number of normalized units that are covered by On-Demand Instances instead
360	// of a reservation.
361	OnDemandNormalizedUnits *string
362
363	// The number of normalized units that a reservation covers.
364	ReservedNormalizedUnits *string
365
366	// The total number of normalized units that you used.
367	TotalRunningNormalizedUnits *string
368}
369
370// Context about the current instance.
371type CurrentInstance struct {
372
373	// The currency code that AWS used to calculate the costs for this instance.
374	CurrencyCode *string
375
376	// The name you've given an instance. This field will show as blank if you haven't
377	// given the instance a name.
378	InstanceName *string
379
380	// Current On-Demand cost of operating this instance on a monthly basis.
381	MonthlyCost *string
382
383	// Number of hours during the lookback period billed at On-Demand rates.
384	OnDemandHoursInLookbackPeriod *string
385
386	// Number of hours during the lookback period covered by reservations.
387	ReservationCoveredHoursInLookbackPeriod *string
388
389	// Details about the resource and utilization.
390	ResourceDetails *ResourceDetails
391
392	// Resource ID of the current instance.
393	ResourceId *string
394
395	// Utilization information of the current instance during the lookback period.
396	ResourceUtilization *ResourceUtilization
397
398	// Number of hours during the lookback period covered by Savings Plans.
399	SavingsPlansCoveredHoursInLookbackPeriod *string
400
401	// Cost allocation resource tags applied to the instance.
402	Tags []TagValues
403
404	// The total number of hours the instance ran during the lookback period.
405	TotalRunningHoursInLookbackPeriod *string
406}
407
408// The time period that you want the usage and costs for.
409type DateInterval struct {
410
411	// The end of the time period that you want the usage and costs for. The end date
412	// is exclusive. For example, if end is 2017-05-01, AWS retrieves cost and usage
413	// data from the start date up to, but not including, 2017-05-01.
414	//
415	// This member is required.
416	End *string
417
418	// The beginning of the time period that you want the usage and costs for. The
419	// start date is inclusive. For example, if start is 2017-01-01, AWS retrieves cost
420	// and usage data starting at 2017-01-01 up to the end date.
421	//
422	// This member is required.
423	Start *string
424}
425
426// The metadata that you can use to filter and group your results. You can use
427// GetDimensionValues to find specific values.
428type DimensionValues struct {
429
430	// The names of the metadata types that you can use to filter and group your
431	// results. For example, AZ returns a list of Availability Zones.
432	Key Dimension
433
434	// The match options that you can use to filter your results. MatchOptions is only
435	// applicable for actions related to Cost Category. The default values for
436	// MatchOptions are EQUALS and CASE_SENSITIVE.
437	MatchOptions []MatchOption
438
439	// The metadata values that you can use to filter and group your results. You can
440	// use GetDimensionValues to find specific values.
441	Values []string
442}
443
444// The metadata of a specific type that you can use to filter and group your
445// results. You can use GetDimensionValues to find specific values.
446type DimensionValuesWithAttributes struct {
447
448	// The attribute that applies to a specific Dimension.
449	Attributes map[string]string
450
451	// The value of a dimension with a specific attribute.
452	Value *string
453}
454
455// The EBS field that contains a list of EBS metrics associated with the current
456// instance.
457type EBSResourceUtilization struct {
458
459	// The maximum size of read operations per second
460	EbsReadBytesPerSecond *string
461
462	// The maximum number of read operations per second.
463	EbsReadOpsPerSecond *string
464
465	// The maximum size of write operations per second.
466	EbsWriteBytesPerSecond *string
467
468	// The maximum number of write operations per second.
469	EbsWriteOpsPerSecond *string
470}
471
472// Details about the Amazon EC2 instances that AWS recommends that you purchase.
473type EC2InstanceDetails struct {
474
475	// The Availability Zone of the recommended reservation.
476	AvailabilityZone *string
477
478	// Whether the recommendation is for a current-generation instance.
479	CurrentGeneration bool
480
481	// The instance family of the recommended reservation.
482	Family *string
483
484	// The type of instance that AWS recommends.
485	InstanceType *string
486
487	// The platform of the recommended reservation. The platform is the specific
488	// combination of operating system, license model, and software on an instance.
489	Platform *string
490
491	// The AWS Region of the recommended reservation.
492	Region *string
493
494	// Whether the recommended reservation is size flexible.
495	SizeFlexEligible bool
496
497	// Whether the recommended reservation is dedicated or shared.
498	Tenancy *string
499}
500
501// Details on the Amazon EC2 Resource.
502type EC2ResourceDetails struct {
503
504	// Hourly public On-Demand rate for the instance type.
505	HourlyOnDemandRate *string
506
507	// The type of AWS instance.
508	InstanceType *string
509
510	// Memory capacity of the AWS instance.
511	Memory *string
512
513	// Network performance capacity of the AWS instance.
514	NetworkPerformance *string
515
516	// The platform of the AWS instance. The platform is the specific combination of
517	// operating system, license model, and software on an instance.
518	Platform *string
519
520	// The AWS Region of the instance.
521	Region *string
522
523	// The SKU of the product.
524	Sku *string
525
526	// The disk storage of the AWS instance (not EBS storage).
527	Storage *string
528
529	// Number of VCPU cores in the AWS instance type.
530	Vcpu *string
531}
532
533// Utilization metrics of the instance.
534type EC2ResourceUtilization struct {
535
536	// The EBS field that contains a list of EBS metrics associated with the current
537	// instance.
538	EBSResourceUtilization *EBSResourceUtilization
539
540	// Maximum observed or expected CPU utilization of the instance.
541	MaxCpuUtilizationPercentage *string
542
543	// Maximum observed or expected memory utilization of the instance.
544	MaxMemoryUtilizationPercentage *string
545
546	// Maximum observed or expected storage utilization of the instance (does not
547	// measure EBS storage).
548	MaxStorageUtilizationPercentage *string
549}
550
551// The Amazon EC2 hardware specifications that you want AWS to provide
552// recommendations for.
553type EC2Specification struct {
554
555	// Whether you want a recommendation for standard or convertible reservations.
556	OfferingClass OfferingClass
557}
558
559// Details about the Amazon ElastiCache instances that AWS recommends that you
560// purchase.
561type ElastiCacheInstanceDetails struct {
562
563	// Whether the recommendation is for a current generation instance.
564	CurrentGeneration bool
565
566	// The instance family of the recommended reservation.
567	Family *string
568
569	// The type of node that AWS recommends.
570	NodeType *string
571
572	// The description of the recommended reservation.
573	ProductDescription *string
574
575	// The AWS Region of the recommended reservation.
576	Region *string
577
578	// Whether the recommended reservation is size flexible.
579	SizeFlexEligible bool
580}
581
582// Details about the Amazon ES instances that AWS recommends that you purchase.
583type ESInstanceDetails struct {
584
585	// Whether the recommendation is for a current-generation instance.
586	CurrentGeneration bool
587
588	// The class of instance that AWS recommends.
589	InstanceClass *string
590
591	// The size of instance that AWS recommends.
592	InstanceSize *string
593
594	// The AWS Region of the recommended reservation.
595	Region *string
596
597	// Whether the recommended reservation is size flexible.
598	SizeFlexEligible bool
599}
600
601// Use Expression to filter by cost or by usage. There are two patterns:
602//
603// * Simple
604// dimension values - You can set the dimension name and values for the filters
605// that you plan to use. For example, you can filter for REGION==us-east-1 OR
606// REGION==us-west-1. For GetRightsizingRecommendation, the Region is a full name
607// (for example, REGION==US East (N. Virginia). The Expression example looks like:
608// { "Dimensions": { "Key": "REGION", "Values": [ "us-east-1", “us-west-1” ] } }
609// The list of dimension values are OR'd together to retrieve cost or usage data.
610// You can create Expression and DimensionValues objects using either with* methods
611// or set* methods in multiple lines.
612//
613// * Compound dimension values with logical
614// operations - You can use multiple Expression types and the logical operators
615// AND/OR/NOT to create a list of one or more Expression objects. This allows you
616// to filter on more advanced options. For example, you can filter on ((REGION ==
617// us-east-1 OR REGION == us-west-1) OR (TAG.Type == Type1)) AND (USAGE_TYPE !=
618// DataTransfer). The Expression for that looks like this: { "And": [ {"Or": [
619// {"Dimensions": { "Key": "REGION", "Values": [ "us-east-1", "us-west-1" ] }},
620// {"Tags": { "Key": "TagName", "Values": ["Value1"] } } ]}, {"Not": {"Dimensions":
621// { "Key": "USAGE_TYPE", "Values": ["DataTransfer"] }}} ] }  Because each
622// Expression can have only one operator, the service returns an error if more than
623// one is specified. The following example shows an Expression object that creates
624// an error.  { "And": [ ... ], "DimensionValues": { "Dimension": "USAGE_TYPE",
625// "Values": [ "DataTransfer" ] } }
626//
627// For GetRightsizingRecommendation action, a
628// combination of OR and NOT is not supported. OR is not supported between
629// different dimensions, or dimensions and tags. NOT operators aren't supported.
630// Dimensions are also limited to LINKED_ACCOUNT, REGION, or RIGHTSIZING_TYPE.
631type Expression struct {
632
633	// Return results that match both Dimension objects.
634	And []Expression
635
636	// The filter based on CostCategory values.
637	CostCategories *CostCategoryValues
638
639	// The specific Dimension to use for Expression.
640	Dimensions *DimensionValues
641
642	// Return results that don't match a Dimension object.
643	Not *Expression
644
645	// Return results that match either Dimension object.
646	Or []Expression
647
648	// The specific Tag to use for Expression.
649	Tags *TagValues
650}
651
652// The forecast created for your query.
653type ForecastResult struct {
654
655	// The mean value of the forecast.
656	MeanValue *string
657
658	// The lower limit for the prediction interval.
659	PredictionIntervalLowerBound *string
660
661	// The upper limit for the prediction interval.
662	PredictionIntervalUpperBound *string
663
664	// The period of time that the forecast covers.
665	TimePeriod *DateInterval
666}
667
668// One level of grouped data in the results.
669type Group struct {
670
671	// The keys that are included in this group.
672	Keys []string
673
674	// The metrics that are included in this group.
675	Metrics map[string]MetricValue
676}
677
678// Represents a group when you specify a group by criteria or in the response to a
679// query with a specific grouping.
680type GroupDefinition struct {
681
682	// The string that represents a key for a specified group.
683	Key *string
684
685	// The string that represents the type of group.
686	Type GroupDefinitionType
687}
688
689// The anomaly's dollar value.
690type Impact struct {
691
692	// The maximum dollar value observed for an anomaly.
693	//
694	// This member is required.
695	MaxImpact float64
696
697	// The cumulative dollar value observed for an anomaly.
698	TotalImpact float64
699}
700
701// Details about the instances that AWS recommends that you purchase.
702type InstanceDetails struct {
703
704	// The Amazon EC2 instances that AWS recommends that you purchase.
705	EC2InstanceDetails *EC2InstanceDetails
706
707	// The Amazon ES instances that AWS recommends that you purchase.
708	ESInstanceDetails *ESInstanceDetails
709
710	// The ElastiCache instances that AWS recommends that you purchase.
711	ElastiCacheInstanceDetails *ElastiCacheInstanceDetails
712
713	// The Amazon RDS instances that AWS recommends that you purchase.
714	RDSInstanceDetails *RDSInstanceDetails
715
716	// The Amazon Redshift instances that AWS recommends that you purchase.
717	RedshiftInstanceDetails *RedshiftInstanceDetails
718}
719
720// The aggregated value for a metric.
721type MetricValue struct {
722
723	// The actual number that represents the metric.
724	Amount *string
725
726	// The unit that the metric is given in.
727	Unit *string
728}
729
730// Details on the modification recommendation.
731type ModifyRecommendationDetail struct {
732
733	// Identifies whether this instance type is the AWS default recommendation.
734	TargetInstances []TargetInstance
735}
736
737// Details about the Amazon RDS instances that AWS recommends that you purchase.
738type RDSInstanceDetails struct {
739
740	// Whether the recommendation is for a current-generation instance.
741	CurrentGeneration bool
742
743	// The database edition that the recommended reservation supports.
744	DatabaseEdition *string
745
746	// The database engine that the recommended reservation supports.
747	DatabaseEngine *string
748
749	// Whether the recommendation is for a reservation in a single Availability Zone or
750	// a reservation with a backup in a second Availability Zone.
751	DeploymentOption *string
752
753	// The instance family of the recommended reservation.
754	Family *string
755
756	// The type of instance that AWS recommends.
757	InstanceType *string
758
759	// The license model that the recommended reservation supports.
760	LicenseModel *string
761
762	// The AWS Region of the recommended reservation.
763	Region *string
764
765	// Whether the recommended reservation is size flexible.
766	SizeFlexEligible bool
767}
768
769// Details about the Amazon Redshift instances that AWS recommends that you
770// purchase.
771type RedshiftInstanceDetails struct {
772
773	// Whether the recommendation is for a current-generation instance.
774	CurrentGeneration bool
775
776	// The instance family of the recommended reservation.
777	Family *string
778
779	// The type of node that AWS recommends.
780	NodeType *string
781
782	// The AWS Region of the recommended reservation.
783	Region *string
784
785	// Whether the recommended reservation is size flexible.
786	SizeFlexEligible bool
787}
788
789// The aggregated numbers for your reservation usage.
790type ReservationAggregates struct {
791
792	// The monthly cost of your reservation, amortized over the reservation period.
793	AmortizedRecurringFee *string
794
795	// The upfront cost of your reservation, amortized over the reservation period.
796	AmortizedUpfrontFee *string
797
798	// How much you saved due to purchasing and utilizing reservation. AWS calculates
799	// this by subtracting TotalAmortizedFee from OnDemandCostOfRIHoursUsed.
800	NetRISavings *string
801
802	// How much your reservation would cost if charged On-Demand rates.
803	OnDemandCostOfRIHoursUsed *string
804
805	// How many reservation hours that you purchased.
806	PurchasedHours *string
807
808	// How many Amazon EC2 reservation hours that you purchased, converted to
809	// normalized units. Normalized units are available only for Amazon EC2 usage after
810	// November 11, 2017.
811	PurchasedUnits *string
812
813	// The total number of reservation hours that you used.
814	TotalActualHours *string
815
816	// The total number of Amazon EC2 reservation hours that you used, converted to
817	// normalized units. Normalized units are available only for Amazon EC2 usage after
818	// November 11, 2017.
819	TotalActualUnits *string
820
821	// The total cost of your reservation, amortized over the reservation period.
822	TotalAmortizedFee *string
823
824	// How much you could save if you use your entire reservation.
825	TotalPotentialRISavings *string
826
827	// The number of reservation hours that you didn't use.
828	UnusedHours *string
829
830	// The number of Amazon EC2 reservation hours that you didn't use, converted to
831	// normalized units. Normalized units are available only for Amazon EC2 usage after
832	// November 11, 2017.
833	UnusedUnits *string
834
835	// The percentage of reservation time that you used.
836	UtilizationPercentage *string
837
838	// The percentage of Amazon EC2 reservation time that you used, converted to
839	// normalized units. Normalized units are available only for Amazon EC2 usage after
840	// November 11, 2017.
841	UtilizationPercentageInUnits *string
842}
843
844// A group of reservations that share a set of attributes.
845type ReservationCoverageGroup struct {
846
847	// The attributes for this group of reservations.
848	Attributes map[string]string
849
850	// How much instance usage this group of reservations covered.
851	Coverage *Coverage
852}
853
854// A specific reservation that AWS recommends for purchase.
855type ReservationPurchaseRecommendation struct {
856
857	// The account scope that AWS recommends that you purchase this instance for. For
858	// example, you can purchase this reservation for an entire organization in AWS
859	// Organizations.
860	AccountScope AccountScope
861
862	// How many days of previous usage that AWS considers when making this
863	// recommendation.
864	LookbackPeriodInDays LookbackPeriodInDays
865
866	// The payment option for the reservation. For example, AllUpfront or NoUpfront.
867	PaymentOption PaymentOption
868
869	// Details about the recommended purchases.
870	RecommendationDetails []ReservationPurchaseRecommendationDetail
871
872	// A summary about the recommended purchase.
873	RecommendationSummary *ReservationPurchaseRecommendationSummary
874
875	// Hardware specifications for the service that you want recommendations for.
876	ServiceSpecification *ServiceSpecification
877
878	// The term of the reservation that you want recommendations for, in years.
879	TermInYears TermInYears
880}
881
882// Details about your recommended reservation purchase.
883type ReservationPurchaseRecommendationDetail struct {
884
885	// The account that this RI recommendation is for.
886	AccountId *string
887
888	// The average number of normalized units that you used in an hour during the
889	// historical period. AWS uses this to calculate your recommended reservation
890	// purchases.
891	AverageNormalizedUnitsUsedPerHour *string
892
893	// The average number of instances that you used in an hour during the historical
894	// period. AWS uses this to calculate your recommended reservation purchases.
895	AverageNumberOfInstancesUsedPerHour *string
896
897	// The average utilization of your instances. AWS uses this to calculate your
898	// recommended reservation purchases.
899	AverageUtilization *string
900
901	// The currency code that AWS used to calculate the costs for this instance.
902	CurrencyCode *string
903
904	// How long AWS estimates that it takes for this instance to start saving you
905	// money, in months.
906	EstimatedBreakEvenInMonths *string
907
908	// How much AWS estimates that you spend on On-Demand Instances in a month.
909	EstimatedMonthlyOnDemandCost *string
910
911	// How much AWS estimates that this specific recommendation could save you in a
912	// month.
913	EstimatedMonthlySavingsAmount *string
914
915	// How much AWS estimates that this specific recommendation could save you in a
916	// month, as a percentage of your overall costs.
917	EstimatedMonthlySavingsPercentage *string
918
919	// How much AWS estimates that you would have spent for all usage during the
920	// specified historical period if you had a reservation.
921	EstimatedReservationCostForLookbackPeriod *string
922
923	// Details about the instances that AWS recommends that you purchase.
924	InstanceDetails *InstanceDetails
925
926	// The maximum number of normalized units that you used in an hour during the
927	// historical period. AWS uses this to calculate your recommended reservation
928	// purchases.
929	MaximumNormalizedUnitsUsedPerHour *string
930
931	// The maximum number of instances that you used in an hour during the historical
932	// period. AWS uses this to calculate your recommended reservation purchases.
933	MaximumNumberOfInstancesUsedPerHour *string
934
935	// The minimum number of normalized units that you used in an hour during the
936	// historical period. AWS uses this to calculate your recommended reservation
937	// purchases.
938	MinimumNormalizedUnitsUsedPerHour *string
939
940	// The minimum number of instances that you used in an hour during the historical
941	// period. AWS uses this to calculate your recommended reservation purchases.
942	MinimumNumberOfInstancesUsedPerHour *string
943
944	// The number of normalized units that AWS recommends that you purchase.
945	RecommendedNormalizedUnitsToPurchase *string
946
947	// The number of instances that AWS recommends that you purchase.
948	RecommendedNumberOfInstancesToPurchase *string
949
950	// How much purchasing this instance costs you on a monthly basis.
951	RecurringStandardMonthlyCost *string
952
953	// How much purchasing this instance costs you upfront.
954	UpfrontCost *string
955}
956
957// Information about this specific recommendation, such as the timestamp for when
958// AWS made a specific recommendation.
959type ReservationPurchaseRecommendationMetadata struct {
960
961	// The timestamp for when AWS made this recommendation.
962	GenerationTimestamp *string
963
964	// The ID for this specific recommendation.
965	RecommendationId *string
966}
967
968// A summary about this recommendation, such as the currency code, the amount that
969// AWS estimates that you could save, and the total amount of reservation to
970// purchase.
971type ReservationPurchaseRecommendationSummary struct {
972
973	// The currency code used for this recommendation.
974	CurrencyCode *string
975
976	// The total amount that AWS estimates that this recommendation could save you in a
977	// month.
978	TotalEstimatedMonthlySavingsAmount *string
979
980	// The total amount that AWS estimates that this recommendation could save you in a
981	// month, as a percentage of your costs.
982	TotalEstimatedMonthlySavingsPercentage *string
983}
984
985// A group of reservations that share a set of attributes.
986type ReservationUtilizationGroup struct {
987
988	// The attributes for this group of reservations.
989	Attributes map[string]string
990
991	// The key for a specific reservation attribute.
992	Key *string
993
994	// How much you used this group of reservations.
995	Utilization *ReservationAggregates
996
997	// The value of a specific reservation attribute.
998	Value *string
999}
1000
1001// Details on the resource.
1002type ResourceDetails struct {
1003
1004	// Details on the Amazon EC2 resource.
1005	EC2ResourceDetails *EC2ResourceDetails
1006}
1007
1008// Resource utilization of current resource.
1009type ResourceUtilization struct {
1010
1011	// Utilization of current Amazon EC2 instance.
1012	EC2ResourceUtilization *EC2ResourceUtilization
1013}
1014
1015// The result that is associated with a time period.
1016type ResultByTime struct {
1017
1018	// Whether the result is estimated.
1019	Estimated bool
1020
1021	// The groups that this time period includes.
1022	Groups []Group
1023
1024	// The time period that the result covers.
1025	TimePeriod *DateInterval
1026
1027	// The total amount of cost or usage accrued during the time period.
1028	Total map[string]MetricValue
1029}
1030
1031// Recommendations to rightsize resources.
1032type RightsizingRecommendation struct {
1033
1034	// The account that this recommendation is for.
1035	AccountId *string
1036
1037	// Context regarding the current instance.
1038	CurrentInstance *CurrentInstance
1039
1040	// Details for modification recommendations.
1041	ModifyRecommendationDetail *ModifyRecommendationDetail
1042
1043	// Recommendation to either terminate or modify the resource.
1044	RightsizingType RightsizingType
1045
1046	// Details for termination recommendations.
1047	TerminateRecommendationDetail *TerminateRecommendationDetail
1048}
1049
1050// Enables you to customize recommendations across two attributes. You can choose
1051// to view recommendations for instances within the same instance families or
1052// across different instance families. You can also choose to view your estimated
1053// savings associated with recommendations with consideration of existing Savings
1054// Plans or RI benefits, or neither.
1055type RightsizingRecommendationConfiguration struct {
1056
1057	// The option to consider RI or Savings Plans discount benefits in your savings
1058	// calculation. The default value is TRUE.
1059	//
1060	// This member is required.
1061	BenefitsConsidered bool
1062
1063	// The option to see recommendations within the same instance family, or
1064	// recommendations for instances across other families. The default value is
1065	// SAME_INSTANCE_FAMILY.
1066	//
1067	// This member is required.
1068	RecommendationTarget RecommendationTarget
1069}
1070
1071// Metadata for this recommendation set.
1072type RightsizingRecommendationMetadata struct {
1073
1074	// Additional metadata that may be applicable to the recommendation.
1075	AdditionalMetadata *string
1076
1077	// The timestamp for when AWS made this recommendation.
1078	GenerationTimestamp *string
1079
1080	// How many days of previous usage that AWS considers when making this
1081	// recommendation.
1082	LookbackPeriodInDays LookbackPeriodInDays
1083
1084	// The ID for this specific recommendation.
1085	RecommendationId *string
1086}
1087
1088// Summary of rightsizing recommendations
1089type RightsizingRecommendationSummary struct {
1090
1091	// Estimated total savings resulting from modifications, on a monthly basis.
1092	EstimatedTotalMonthlySavingsAmount *string
1093
1094	// The currency code that AWS used to calculate the savings.
1095	SavingsCurrencyCode *string
1096
1097	// Savings percentage based on the recommended modifications, relative to the total
1098	// On-Demand costs associated with these instances.
1099	SavingsPercentage *string
1100
1101	// Total number of instance recommendations.
1102	TotalRecommendationCount *string
1103}
1104
1105// The combination of AWS service, linked account, Region, and usage type where a
1106// cost anomaly is observed.
1107type RootCause struct {
1108
1109	// The linked account value associated with the cost anomaly.
1110	LinkedAccount *string
1111
1112	// The AWS Region associated with the cost anomaly.
1113	Region *string
1114
1115	// The AWS service name associated with the cost anomaly.
1116	Service *string
1117
1118	// The UsageType value associated with the cost anomaly.
1119	UsageType *string
1120}
1121
1122// The amortized amount of Savings Plans purchased in a specific account during a
1123// specific time interval.
1124type SavingsPlansAmortizedCommitment struct {
1125
1126	// The amortized amount of your Savings Plans commitment that was purchased with
1127	// either a Partial or a NoUpfront.
1128	AmortizedRecurringCommitment *string
1129
1130	// The amortized amount of your Savings Plans commitment that was purchased with an
1131	// Upfront or PartialUpfront Savings Plans.
1132	AmortizedUpfrontCommitment *string
1133
1134	// The total amortized amount of your Savings Plans commitment, regardless of your
1135	// Savings Plans purchase method.
1136	TotalAmortizedCommitment *string
1137}
1138
1139// The amount of Savings Plans eligible usage that is covered by Savings Plans. All
1140// calculations consider the On-Demand equivalent of your Savings Plans usage.
1141type SavingsPlansCoverage struct {
1142
1143	// The attribute that applies to a specific Dimension.
1144	Attributes map[string]string
1145
1146	// The amount of Savings Plans eligible usage that the Savings Plans covered.
1147	Coverage *SavingsPlansCoverageData
1148
1149	// The time period that you want the usage and costs for.
1150	TimePeriod *DateInterval
1151}
1152
1153// Specific coverage percentage, On-Demand costs, and spend covered by Savings
1154// Plans, and total Savings Plans costs for an account.
1155type SavingsPlansCoverageData struct {
1156
1157	// The percentage of your existing Savings Plans covered usage, divided by all of
1158	// your eligible Savings Plans usage in an account(or set of accounts).
1159	CoveragePercentage *string
1160
1161	// The cost of your AWS usage at the public On-Demand rate.
1162	OnDemandCost *string
1163
1164	// The amount of your AWS usage that is covered by a Savings Plans.
1165	SpendCoveredBySavingsPlans *string
1166
1167	// The total cost of your AWS usage, regardless of your purchase option.
1168	TotalCost *string
1169}
1170
1171// Attribute details on a specific Savings Plan.
1172type SavingsPlansDetails struct {
1173
1174	// A group of instance types that Savings Plans applies to.
1175	InstanceFamily *string
1176
1177	// The unique ID used to distinguish Savings Plans from one another.
1178	OfferingId *string
1179
1180	// A collection of AWS resources in a geographic area. Each AWS Region is isolated
1181	// and independent of the other Regions.
1182	Region *string
1183}
1184
1185// Contains your request parameters, Savings Plan Recommendations Summary, and
1186// Details.
1187type SavingsPlansPurchaseRecommendation struct {
1188
1189	// The account scope that you want your recommendations for. Amazon Web Services
1190	// calculates recommendations including the management account and member accounts
1191	// if the value is set to PAYER. If the value is LINKED, recommendations are
1192	// calculated for individual member accounts only.
1193	AccountScope AccountScope
1194
1195	// The lookback period in days, used to generate the recommendation.
1196	LookbackPeriodInDays LookbackPeriodInDays
1197
1198	// The payment option used to generate the recommendation.
1199	PaymentOption PaymentOption
1200
1201	// Details for the Savings Plans we recommend that you purchase to cover existing
1202	// Savings Plans eligible workloads.
1203	SavingsPlansPurchaseRecommendationDetails []SavingsPlansPurchaseRecommendationDetail
1204
1205	// Summary metrics for your Savings Plans Recommendations.
1206	SavingsPlansPurchaseRecommendationSummary *SavingsPlansPurchaseRecommendationSummary
1207
1208	// The requested Savings Plans recommendation type.
1209	SavingsPlansType SupportedSavingsPlansType
1210
1211	// The Savings Plans recommendation term in years, used to generate the
1212	// recommendation.
1213	TermInYears TermInYears
1214}
1215
1216// Details for your recommended Savings Plans.
1217type SavingsPlansPurchaseRecommendationDetail struct {
1218
1219	// The AccountID the recommendation is generated for.
1220	AccountId *string
1221
1222	// The currency code AWS used to generate the recommendations and present potential
1223	// savings.
1224	CurrencyCode *string
1225
1226	// The average value of hourly On-Demand spend over the lookback period of the
1227	// applicable usage type.
1228	CurrentAverageHourlyOnDemandSpend *string
1229
1230	// The highest value of hourly On-Demand spend over the lookback period of the
1231	// applicable usage type.
1232	CurrentMaximumHourlyOnDemandSpend *string
1233
1234	// The lowest value of hourly On-Demand spend over the lookback period of the
1235	// applicable usage type.
1236	CurrentMinimumHourlyOnDemandSpend *string
1237
1238	// The estimated utilization of the recommended Savings Plans.
1239	EstimatedAverageUtilization *string
1240
1241	// The estimated monthly savings amount, based on the recommended Savings Plans.
1242	EstimatedMonthlySavingsAmount *string
1243
1244	// The remaining On-Demand cost estimated to not be covered by the recommended
1245	// Savings Plans, over the length of the lookback period.
1246	EstimatedOnDemandCost *string
1247
1248	// The estimated On-Demand costs you would expect with no additional commitment,
1249	// based on your usage of the selected time period and the Savings Plans you own.
1250	EstimatedOnDemandCostWithCurrentCommitment *string
1251
1252	// The estimated return on investment based on the recommended Savings Plans
1253	// purchased. This is calculated as estimatedSavingsAmount/ estimatedSPCost*100.
1254	EstimatedROI *string
1255
1256	// The cost of the recommended Savings Plans over the length of the lookback
1257	// period.
1258	EstimatedSPCost *string
1259
1260	// The estimated savings amount based on the recommended Savings Plans over the
1261	// length of the lookback period.
1262	EstimatedSavingsAmount *string
1263
1264	// The estimated savings percentage relative to the total cost of applicable
1265	// On-Demand usage over the lookback period.
1266	EstimatedSavingsPercentage *string
1267
1268	// The recommended hourly commitment level for the Savings Plans type, and
1269	// configuration based on the usage during the lookback period.
1270	HourlyCommitmentToPurchase *string
1271
1272	// Details for your recommended Savings Plans.
1273	SavingsPlansDetails *SavingsPlansDetails
1274
1275	// The upfront cost of the recommended Savings Plans, based on the selected payment
1276	// option.
1277	UpfrontCost *string
1278}
1279
1280// Metadata about your Savings Plans Purchase Recommendations.
1281type SavingsPlansPurchaseRecommendationMetadata struct {
1282
1283	// Additional metadata that may be applicable to the recommendation.
1284	AdditionalMetadata *string
1285
1286	// The timestamp showing when the recommendations were generated.
1287	GenerationTimestamp *string
1288
1289	// The unique identifier for the recommendation set.
1290	RecommendationId *string
1291}
1292
1293// Summary metrics for your Savings Plans Purchase Recommendations.
1294type SavingsPlansPurchaseRecommendationSummary struct {
1295
1296	// The currency code AWS used to generate the recommendations and present potential
1297	// savings.
1298	CurrencyCode *string
1299
1300	// The current total on demand spend of the applicable usage types over the
1301	// lookback period.
1302	CurrentOnDemandSpend *string
1303
1304	// The recommended Savings Plans cost on a daily (24 hourly) basis.
1305	DailyCommitmentToPurchase *string
1306
1307	// The estimated monthly savings amount, based on the recommended Savings Plans
1308	// purchase.
1309	EstimatedMonthlySavingsAmount *string
1310
1311	// The estimated On-Demand costs you would expect with no additional commitment,
1312	// based on your usage of the selected time period and the Savings Plans you own.
1313	EstimatedOnDemandCostWithCurrentCommitment *string
1314
1315	// The estimated return on investment based on the recommended Savings Plans and
1316	// estimated savings.
1317	EstimatedROI *string
1318
1319	// The estimated total savings over the lookback period, based on the purchase of
1320	// the recommended Savings Plans.
1321	EstimatedSavingsAmount *string
1322
1323	// The estimated savings relative to the total cost of On-Demand usage, over the
1324	// lookback period. This is calculated as estimatedSavingsAmount/
1325	// CurrentOnDemandSpend*100.
1326	EstimatedSavingsPercentage *string
1327
1328	// The estimated total cost of the usage after purchasing the recommended Savings
1329	// Plans. This is a sum of the cost of Savings Plans during this term, and the
1330	// remaining On-Demand usage.
1331	EstimatedTotalCost *string
1332
1333	// The recommended hourly commitment based on the recommendation parameters.
1334	HourlyCommitmentToPurchase *string
1335
1336	// The aggregate number of Savings Plans recommendations that exist for your
1337	// account.
1338	TotalRecommendationCount *string
1339}
1340
1341// The amount of savings you're accumulating, against the public On-Demand rate of
1342// the usage accrued in an account.
1343type SavingsPlansSavings struct {
1344
1345	// The savings amount that you are accumulating for the usage that is covered by a
1346	// Savings Plans, when compared to the On-Demand equivalent of the same usage.
1347	NetSavings *string
1348
1349	// How much the amount that the usage would have cost if it was accrued at the
1350	// On-Demand rate.
1351	OnDemandCostEquivalent *string
1352}
1353
1354// The measurement of how well you are using your existing Savings Plans.
1355type SavingsPlansUtilization struct {
1356
1357	// The total amount of Savings Plans commitment that's been purchased in an account
1358	// (or set of accounts).
1359	TotalCommitment *string
1360
1361	// The amount of your Savings Plans commitment that was not consumed from Savings
1362	// Plans eligible usage in a specific period.
1363	UnusedCommitment *string
1364
1365	// The amount of your Savings Plans commitment that was consumed from Savings Plans
1366	// eligible usage in a specific period.
1367	UsedCommitment *string
1368
1369	// The amount of UsedCommitment divided by the TotalCommitment for your Savings
1370	// Plans.
1371	UtilizationPercentage *string
1372}
1373
1374// The aggregated utilization metrics for your Savings Plans usage.
1375type SavingsPlansUtilizationAggregates struct {
1376
1377	// A ratio of your effectiveness of using existing Savings Plans to apply to
1378	// workloads that are Savings Plans eligible.
1379	//
1380	// This member is required.
1381	Utilization *SavingsPlansUtilization
1382
1383	// The total amortized commitment for a Savings Plans. This includes the sum of the
1384	// upfront and recurring Savings Plans fees.
1385	AmortizedCommitment *SavingsPlansAmortizedCommitment
1386
1387	// The amount saved by using existing Savings Plans. Savings returns both net
1388	// savings from Savings Plans, as well as the onDemandCostEquivalent of the Savings
1389	// Plans when considering the utilization rate.
1390	Savings *SavingsPlansSavings
1391}
1392
1393// The amount of Savings Plans utilization, in hours.
1394type SavingsPlansUtilizationByTime struct {
1395
1396	// The time period that you want the usage and costs for.
1397	//
1398	// This member is required.
1399	TimePeriod *DateInterval
1400
1401	// A ratio of your effectiveness of using existing Savings Plans to apply to
1402	// workloads that are Savings Plans eligible.
1403	//
1404	// This member is required.
1405	Utilization *SavingsPlansUtilization
1406
1407	// The total amortized commitment for a Savings Plans. This includes the sum of the
1408	// upfront and recurring Savings Plans fees.
1409	AmortizedCommitment *SavingsPlansAmortizedCommitment
1410
1411	// The amount saved by using existing Savings Plans. Savings returns both net
1412	// savings from Savings Plans as well as the onDemandCostEquivalent of the Savings
1413	// Plans when considering the utilization rate.
1414	Savings *SavingsPlansSavings
1415}
1416
1417// A single daily or monthly Savings Plans utilization rate, and details for your
1418// account. A management account in an organization have access to member accounts.
1419// You can use GetDimensionValues to determine the possible dimension values.
1420type SavingsPlansUtilizationDetail struct {
1421
1422	// The total amortized commitment for a Savings Plans. Includes the sum of the
1423	// upfront and recurring Savings Plans fees.
1424	AmortizedCommitment *SavingsPlansAmortizedCommitment
1425
1426	// The attribute that applies to a specific Dimension.
1427	Attributes map[string]string
1428
1429	// The amount saved by using existing Savings Plans. Savings returns both net
1430	// savings from savings plans as well as the onDemandCostEquivalent of the Savings
1431	// Plans when considering the utilization rate.
1432	Savings *SavingsPlansSavings
1433
1434	// The unique Amazon Resource Name (ARN) for a particular Savings Plan.
1435	SavingsPlanArn *string
1436
1437	// A ratio of your effectiveness of using existing Savings Plans to apply to
1438	// workloads that are Savings Plans eligible.
1439	Utilization *SavingsPlansUtilization
1440}
1441
1442// Hardware specifications for the service that you want recommendations for.
1443type ServiceSpecification struct {
1444
1445	// The Amazon EC2 hardware specifications that you want AWS to provide
1446	// recommendations for.
1447	EC2Specification *EC2Specification
1448}
1449
1450// The recipient of AnomalySubscription notifications.
1451type Subscriber struct {
1452
1453	// The email address or SNS Amazon Resource Name (ARN), depending on the Type.
1454	Address *string
1455
1456	// Indicates if the subscriber accepts the notifications.
1457	Status SubscriberStatus
1458
1459	// The notification delivery channel.
1460	Type SubscriberType
1461}
1462
1463// The values that are available for a tag.
1464type TagValues struct {
1465
1466	// The key for the tag.
1467	Key *string
1468
1469	// The match options that you can use to filter your results. MatchOptions is only
1470	// applicable for actions related to Cost Category. The default values for
1471	// MatchOptions are EQUALS and CASE_SENSITIVE.
1472	MatchOptions []MatchOption
1473
1474	// The specific value of the tag.
1475	Values []string
1476}
1477
1478// Details on recommended instance.
1479type TargetInstance struct {
1480
1481	// The currency code that AWS used to calculate the costs for this instance.
1482	CurrencyCode *string
1483
1484	// Indicates whether this recommendation is the defaulted AWS recommendation.
1485	DefaultTargetInstance bool
1486
1487	// Expected cost to operate this instance type on a monthly basis.
1488	EstimatedMonthlyCost *string
1489
1490	// Estimated savings resulting from modification, on a monthly basis.
1491	EstimatedMonthlySavings *string
1492
1493	// Expected utilization metrics for target instance type.
1494	ExpectedResourceUtilization *ResourceUtilization
1495
1496	// Details on the target instance type.
1497	ResourceDetails *ResourceDetails
1498}
1499
1500// Details on termination recommendation.
1501type TerminateRecommendationDetail struct {
1502
1503	// The currency code that AWS used to calculate the costs for this instance.
1504	CurrencyCode *string
1505
1506	// Estimated savings resulting from modification, on a monthly basis.
1507	EstimatedMonthlySavings *string
1508}
1509
1510// Filters cost anomalies based on the total impact.
1511type TotalImpactFilter struct {
1512
1513	// The comparing value used in the filter.
1514	//
1515	// This member is required.
1516	NumericOperator NumericOperator
1517
1518	// The lower bound dollar value used in the filter.
1519	//
1520	// This member is required.
1521	StartValue float64
1522
1523	// The upper bound dollar value used in the filter.
1524	EndValue float64
1525}
1526
1527// The amount of utilization, in hours.
1528type UtilizationByTime struct {
1529
1530	// The groups that this utilization result uses.
1531	Groups []ReservationUtilizationGroup
1532
1533	// The period of time that this utilization was used for.
1534	TimePeriod *DateInterval
1535
1536	// The total number of reservation hours that were used.
1537	Total *ReservationAggregates
1538}
1539