import { AllocationStrategy, AsgType, AutoScalingConfiguration, CpuVendorArchitecture, Currency, CurrentPerformanceRisk, CustomizableMetricHeadroom, CustomizableMetricName, CustomizableMetricThreshold, Dimension, EBSFilterName, EBSFinding, EBSMetricName, EBSSavingsEstimationModeSource, ECSSavingsEstimationModeSource, ECSServiceLaunchType, ECSServiceMetricName, ECSServiceMetricStatistic, ECSServiceRecommendationFilterName, ECSServiceRecommendationFinding, ECSServiceRecommendationFindingReasonCode, EnhancedInfrastructureMetrics, EnrollmentFilterName, ExportableAutoScalingGroupField, ExportableECSServiceField, ExportableIdleField, ExportableInstanceField, ExportableLambdaFunctionField, ExportableLicenseField, ExportableRDSDBField, ExportableVolumeField, ExternalMetricsSource, ExternalMetricStatusCode, FileFormat, FilterName, Finding, FindingReasonCode, Idle, IdleFinding, IdleMetricName, IdleRecommendationFilterName, IdleRecommendationResourceType, InferredWorkloadType, InferredWorkloadTypesPreference, InstanceIdle, InstanceRecommendationFindingReasonCode, InstanceSavingsEstimationModeSource, InstanceState, JobFilterName, JobStatus, LambdaFunctionMemoryMetricName, LambdaFunctionMemoryMetricStatistic, LambdaFunctionMetricName, LambdaFunctionMetricStatistic, LambdaFunctionRecommendationFilterName, LambdaFunctionRecommendationFinding, LambdaFunctionRecommendationFindingReasonCode, LambdaSavingsEstimationModeSource, LicenseEdition, LicenseFinding, LicenseFindingReasonCode, LicenseModel, LicenseName, LicenseRecommendationFilterName, LookBackPeriodPreference, MetricName, MetricSourceProvider, MetricStatistic, MigrationEffort, Order, PlatformDifference, PreferredResourceName, RDSCurrentInstancePerformanceRisk, RDSDBMetricName, RDSDBMetricStatistic, RDSDBRecommendationFilterName, RDSEstimatedMonthlyVolumeIOPsCostVariation, RDSInstanceFinding, RDSInstanceFindingReasonCode, RDSSavingsEstimationModeSource, RDSStorageFinding, RDSStorageFindingReasonCode, RecommendationPreferenceName, RecommendationSourceType, ResourceType, SavingsEstimationMode, ScopeName, Status, } from "./enums"; export interface AccountEnrollmentStatus { accountId?: string | undefined; status?: Status | undefined; statusReason?: string | undefined; lastUpdatedTimestamp?: Date | undefined; } export interface AutoScalingGroupConfiguration { desiredCapacity?: number | undefined; minSize?: number | undefined; maxSize?: number | undefined; instanceType?: string | undefined; allocationStrategy?: AllocationStrategy | undefined; estimatedInstanceHourReductionPercentage?: number | undefined; type?: AsgType | undefined; mixedInstanceTypes?: string[] | undefined; } export interface AutoScalingGroupEstimatedMonthlySavings { currency?: Currency | undefined; value?: number | undefined; } export interface Gpu { gpuCount?: number | undefined; gpuMemorySizeInMiB?: number | undefined; } export interface GpuInfo { gpus?: Gpu[] | undefined; } export interface ExternalMetricsPreference { source?: ExternalMetricsSource | undefined; } export interface EffectivePreferredResource { name?: PreferredResourceName | undefined; includeList?: string[] | undefined; effectiveIncludeList?: string[] | undefined; excludeList?: string[] | undefined; } export interface InstanceSavingsEstimationMode { source?: InstanceSavingsEstimationModeSource | undefined; } export interface CustomizableMetricParameters { threshold?: CustomizableMetricThreshold | undefined; headroom?: CustomizableMetricHeadroom | undefined; } export interface UtilizationPreference { metricName?: CustomizableMetricName | undefined; metricParameters?: CustomizableMetricParameters | undefined; } export interface EffectiveRecommendationPreferences { cpuVendorArchitectures?: CpuVendorArchitecture[] | undefined; enhancedInfrastructureMetrics?: EnhancedInfrastructureMetrics | undefined; inferredWorkloadTypes?: InferredWorkloadTypesPreference | undefined; externalMetricsPreference?: ExternalMetricsPreference | undefined; lookBackPeriod?: LookBackPeriodPreference | undefined; utilizationPreferences?: UtilizationPreference[] | undefined; preferredResources?: EffectivePreferredResource[] | undefined; savingsEstimationMode?: InstanceSavingsEstimationMode | undefined; } export interface UtilizationMetric { name?: MetricName | undefined; statistic?: MetricStatistic | undefined; value?: number | undefined; } export interface EstimatedMonthlySavings { currency?: Currency | undefined; value?: number | undefined; } export interface SavingsOpportunity { savingsOpportunityPercentage?: number | undefined; estimatedMonthlySavings?: EstimatedMonthlySavings | undefined; } export interface AutoScalingGroupSavingsOpportunityAfterDiscounts { savingsOpportunityPercentage?: number | undefined; estimatedMonthlySavings?: AutoScalingGroupEstimatedMonthlySavings | undefined; } export interface AutoScalingGroupRecommendationOption { configuration?: AutoScalingGroupConfiguration | undefined; instanceGpuInfo?: GpuInfo | undefined; projectedUtilizationMetrics?: UtilizationMetric[] | undefined; performanceRisk?: number | undefined; rank?: number | undefined; savingsOpportunity?: SavingsOpportunity | undefined; savingsOpportunityAfterDiscounts?: AutoScalingGroupSavingsOpportunityAfterDiscounts | undefined; migrationEffort?: MigrationEffort | undefined; } export interface AutoScalingGroupRecommendation { accountId?: string | undefined; autoScalingGroupArn?: string | undefined; autoScalingGroupName?: string | undefined; finding?: Finding | undefined; utilizationMetrics?: UtilizationMetric[] | undefined; lookBackPeriodInDays?: number | undefined; currentConfiguration?: AutoScalingGroupConfiguration | undefined; currentInstanceGpuInfo?: GpuInfo | undefined; recommendationOptions?: AutoScalingGroupRecommendationOption[] | undefined; lastRefreshTimestamp?: Date | undefined; currentPerformanceRisk?: CurrentPerformanceRisk | undefined; effectiveRecommendationPreferences?: EffectiveRecommendationPreferences | undefined; inferredWorkloadTypes?: InferredWorkloadType[] | undefined; } export interface Scope { name?: ScopeName | undefined; value?: string | undefined; } export interface DeleteRecommendationPreferencesRequest { resourceType: ResourceType | undefined; scope?: Scope | undefined; recommendationPreferenceNames: RecommendationPreferenceName[] | undefined; } export interface DeleteRecommendationPreferencesResponse {} export interface JobFilter { name?: JobFilterName | undefined; values?: string[] | undefined; } export interface DescribeRecommendationExportJobsRequest { jobIds?: string[] | undefined; filters?: JobFilter[] | undefined; nextToken?: string | undefined; maxResults?: number | undefined; } export interface S3Destination { bucket?: string | undefined; key?: string | undefined; metadataKey?: string | undefined; } export interface ExportDestination { s3?: S3Destination | undefined; } export interface RecommendationExportJob { jobId?: string | undefined; destination?: ExportDestination | undefined; resourceType?: ResourceType | undefined; status?: JobStatus | undefined; creationTimestamp?: Date | undefined; lastUpdatedTimestamp?: Date | undefined; failureReason?: string | undefined; } export interface DescribeRecommendationExportJobsResponse { recommendationExportJobs?: RecommendationExportJob[] | undefined; nextToken?: string | undefined; } export interface Filter { name?: FilterName | undefined; values?: string[] | undefined; } export interface RecommendationPreferences { cpuVendorArchitectures?: CpuVendorArchitecture[] | undefined; } export interface S3DestinationConfig { bucket?: string | undefined; keyPrefix?: string | undefined; } export interface ExportAutoScalingGroupRecommendationsRequest { accountIds?: string[] | undefined; filters?: Filter[] | undefined; fieldsToExport?: ExportableAutoScalingGroupField[] | undefined; s3DestinationConfig: S3DestinationConfig | undefined; fileFormat?: FileFormat | undefined; includeMemberAccounts?: boolean | undefined; recommendationPreferences?: RecommendationPreferences | undefined; } export interface ExportAutoScalingGroupRecommendationsResponse { jobId?: string | undefined; s3Destination?: S3Destination | undefined; } export interface EBSFilter { name?: EBSFilterName | undefined; values?: string[] | undefined; } export interface ExportEBSVolumeRecommendationsRequest { accountIds?: string[] | undefined; filters?: EBSFilter[] | undefined; fieldsToExport?: ExportableVolumeField[] | undefined; s3DestinationConfig: S3DestinationConfig | undefined; fileFormat?: FileFormat | undefined; includeMemberAccounts?: boolean | undefined; } export interface ExportEBSVolumeRecommendationsResponse { jobId?: string | undefined; s3Destination?: S3Destination | undefined; } export interface ExportEC2InstanceRecommendationsRequest { accountIds?: string[] | undefined; filters?: Filter[] | undefined; fieldsToExport?: ExportableInstanceField[] | undefined; s3DestinationConfig: S3DestinationConfig | undefined; fileFormat?: FileFormat | undefined; includeMemberAccounts?: boolean | undefined; recommendationPreferences?: RecommendationPreferences | undefined; } export interface ExportEC2InstanceRecommendationsResponse { jobId?: string | undefined; s3Destination?: S3Destination | undefined; } export interface ECSServiceRecommendationFilter { name?: ECSServiceRecommendationFilterName | undefined; values?: string[] | undefined; } export interface ExportECSServiceRecommendationsRequest { accountIds?: string[] | undefined; filters?: ECSServiceRecommendationFilter[] | undefined; fieldsToExport?: ExportableECSServiceField[] | undefined; s3DestinationConfig: S3DestinationConfig | undefined; fileFormat?: FileFormat | undefined; includeMemberAccounts?: boolean | undefined; } export interface ExportECSServiceRecommendationsResponse { jobId?: string | undefined; s3Destination?: S3Destination | undefined; } export interface IdleRecommendationFilter { name?: IdleRecommendationFilterName | undefined; values?: string[] | undefined; } export interface ExportIdleRecommendationsRequest { accountIds?: string[] | undefined; filters?: IdleRecommendationFilter[] | undefined; fieldsToExport?: ExportableIdleField[] | undefined; s3DestinationConfig: S3DestinationConfig | undefined; fileFormat?: FileFormat | undefined; includeMemberAccounts?: boolean | undefined; } export interface ExportIdleRecommendationsResponse { jobId?: string | undefined; s3Destination?: S3Destination | undefined; } export interface LambdaFunctionRecommendationFilter { name?: LambdaFunctionRecommendationFilterName | undefined; values?: string[] | undefined; } export interface ExportLambdaFunctionRecommendationsRequest { accountIds?: string[] | undefined; filters?: LambdaFunctionRecommendationFilter[] | undefined; fieldsToExport?: ExportableLambdaFunctionField[] | undefined; s3DestinationConfig: S3DestinationConfig | undefined; fileFormat?: FileFormat | undefined; includeMemberAccounts?: boolean | undefined; } export interface ExportLambdaFunctionRecommendationsResponse { jobId?: string | undefined; s3Destination?: S3Destination | undefined; } export interface LicenseRecommendationFilter { name?: LicenseRecommendationFilterName | undefined; values?: string[] | undefined; } export interface ExportLicenseRecommendationsRequest { accountIds?: string[] | undefined; filters?: LicenseRecommendationFilter[] | undefined; fieldsToExport?: ExportableLicenseField[] | undefined; s3DestinationConfig: S3DestinationConfig | undefined; fileFormat?: FileFormat | undefined; includeMemberAccounts?: boolean | undefined; } export interface ExportLicenseRecommendationsResponse { jobId?: string | undefined; s3Destination?: S3Destination | undefined; } export interface RDSDBRecommendationFilter { name?: RDSDBRecommendationFilterName | undefined; values?: string[] | undefined; } export interface ExportRDSDatabaseRecommendationsRequest { accountIds?: string[] | undefined; filters?: RDSDBRecommendationFilter[] | undefined; fieldsToExport?: ExportableRDSDBField[] | undefined; s3DestinationConfig: S3DestinationConfig | undefined; fileFormat?: FileFormat | undefined; includeMemberAccounts?: boolean | undefined; recommendationPreferences?: RecommendationPreferences | undefined; } export interface ExportRDSDatabaseRecommendationsResponse { jobId?: string | undefined; s3Destination?: S3Destination | undefined; } export interface GetAutoScalingGroupRecommendationsRequest { accountIds?: string[] | undefined; autoScalingGroupArns?: string[] | undefined; nextToken?: string | undefined; maxResults?: number | undefined; filters?: Filter[] | undefined; recommendationPreferences?: RecommendationPreferences | undefined; } export interface GetRecommendationError { identifier?: string | undefined; code?: string | undefined; message?: string | undefined; } export interface GetAutoScalingGroupRecommendationsResponse { nextToken?: string | undefined; autoScalingGroupRecommendations?: AutoScalingGroupRecommendation[] | undefined; errors?: GetRecommendationError[] | undefined; } export interface GetEBSVolumeRecommendationsRequest { volumeArns?: string[] | undefined; nextToken?: string | undefined; maxResults?: number | undefined; filters?: EBSFilter[] | undefined; accountIds?: string[] | undefined; } export interface VolumeConfiguration { volumeType?: string | undefined; volumeSize?: number | undefined; volumeBaselineIOPS?: number | undefined; volumeBurstIOPS?: number | undefined; volumeBaselineThroughput?: number | undefined; volumeBurstThroughput?: number | undefined; rootVolume?: boolean | undefined; } export interface EBSSavingsEstimationMode { source?: EBSSavingsEstimationModeSource | undefined; } export interface EBSEffectiveRecommendationPreferences { savingsEstimationMode?: EBSSavingsEstimationMode | undefined; lookBackPeriod?: LookBackPeriodPreference | undefined; } export interface Tag { key?: string | undefined; value?: string | undefined; } export interface EBSUtilizationMetric { name?: EBSMetricName | undefined; statistic?: MetricStatistic | undefined; value?: number | undefined; } export interface EBSEstimatedMonthlySavings { currency?: Currency | undefined; value?: number | undefined; } export interface EBSSavingsOpportunityAfterDiscounts { savingsOpportunityPercentage?: number | undefined; estimatedMonthlySavings?: EBSEstimatedMonthlySavings | undefined; } export interface VolumeRecommendationOption { configuration?: VolumeConfiguration | undefined; performanceRisk?: number | undefined; rank?: number | undefined; savingsOpportunity?: SavingsOpportunity | undefined; savingsOpportunityAfterDiscounts?: EBSSavingsOpportunityAfterDiscounts | undefined; } export interface VolumeRecommendation { volumeArn?: string | undefined; accountId?: string | undefined; currentConfiguration?: VolumeConfiguration | undefined; finding?: EBSFinding | undefined; utilizationMetrics?: EBSUtilizationMetric[] | undefined; lookBackPeriodInDays?: number | undefined; volumeRecommendationOptions?: VolumeRecommendationOption[] | undefined; lastRefreshTimestamp?: Date | undefined; currentPerformanceRisk?: CurrentPerformanceRisk | undefined; effectiveRecommendationPreferences?: EBSEffectiveRecommendationPreferences | undefined; tags?: Tag[] | undefined; } export interface GetEBSVolumeRecommendationsResponse { nextToken?: string | undefined; volumeRecommendations?: VolumeRecommendation[] | undefined; errors?: GetRecommendationError[] | undefined; } export interface GetEC2InstanceRecommendationsRequest { instanceArns?: string[] | undefined; nextToken?: string | undefined; maxResults?: number | undefined; filters?: Filter[] | undefined; accountIds?: string[] | undefined; recommendationPreferences?: RecommendationPreferences | undefined; } export interface ExternalMetricStatus { statusCode?: ExternalMetricStatusCode | undefined; statusReason?: string | undefined; } export interface InstanceEstimatedMonthlySavings { currency?: Currency | undefined; value?: number | undefined; } export interface InstanceSavingsOpportunityAfterDiscounts { savingsOpportunityPercentage?: number | undefined; estimatedMonthlySavings?: InstanceEstimatedMonthlySavings | undefined; } export interface InstanceRecommendationOption { instanceType?: string | undefined; instanceGpuInfo?: GpuInfo | undefined; projectedUtilizationMetrics?: UtilizationMetric[] | undefined; platformDifferences?: PlatformDifference[] | undefined; performanceRisk?: number | undefined; rank?: number | undefined; savingsOpportunity?: SavingsOpportunity | undefined; savingsOpportunityAfterDiscounts?: InstanceSavingsOpportunityAfterDiscounts | undefined; migrationEffort?: MigrationEffort | undefined; } export interface RecommendationSource { recommendationSourceArn?: string | undefined; recommendationSourceType?: RecommendationSourceType | undefined; } export interface InstanceRecommendation { instanceArn?: string | undefined; accountId?: string | undefined; instanceName?: string | undefined; currentInstanceType?: string | undefined; finding?: Finding | undefined; findingReasonCodes?: InstanceRecommendationFindingReasonCode[] | undefined; utilizationMetrics?: UtilizationMetric[] | undefined; lookBackPeriodInDays?: number | undefined; recommendationOptions?: InstanceRecommendationOption[] | undefined; recommendationSources?: RecommendationSource[] | undefined; lastRefreshTimestamp?: Date | undefined; currentPerformanceRisk?: CurrentPerformanceRisk | undefined; effectiveRecommendationPreferences?: EffectiveRecommendationPreferences | undefined; inferredWorkloadTypes?: InferredWorkloadType[] | undefined; instanceState?: InstanceState | undefined; tags?: Tag[] | undefined; externalMetricStatus?: ExternalMetricStatus | undefined; currentInstanceGpuInfo?: GpuInfo | undefined; idle?: InstanceIdle | undefined; } export interface GetEC2InstanceRecommendationsResponse { nextToken?: string | undefined; instanceRecommendations?: InstanceRecommendation[] | undefined; errors?: GetRecommendationError[] | undefined; } export interface GetEC2RecommendationProjectedMetricsRequest { instanceArn: string | undefined; stat: MetricStatistic | undefined; period: number | undefined; startTime: Date | undefined; endTime: Date | undefined; recommendationPreferences?: RecommendationPreferences | undefined; } export interface ProjectedMetric { name?: MetricName | undefined; timestamps?: Date[] | undefined; values?: number[] | undefined; } export interface RecommendedOptionProjectedMetric { recommendedInstanceType?: string | undefined; rank?: number | undefined; projectedMetrics?: ProjectedMetric[] | undefined; } export interface GetEC2RecommendationProjectedMetricsResponse { recommendedOptionProjectedMetrics?: RecommendedOptionProjectedMetric[] | undefined; } export interface GetECSServiceRecommendationProjectedMetricsRequest { serviceArn: string | undefined; stat: MetricStatistic | undefined; period: number | undefined; startTime: Date | undefined; endTime: Date | undefined; } export interface ECSServiceProjectedMetric { name?: ECSServiceMetricName | undefined; timestamps?: Date[] | undefined; upperBoundValues?: number[] | undefined; lowerBoundValues?: number[] | undefined; } export interface ECSServiceRecommendedOptionProjectedMetric { recommendedCpuUnits?: number | undefined; recommendedMemorySize?: number | undefined; projectedMetrics?: ECSServiceProjectedMetric[] | undefined; } export interface GetECSServiceRecommendationProjectedMetricsResponse { recommendedOptionProjectedMetrics?: ECSServiceRecommendedOptionProjectedMetric[] | undefined; } export interface GetECSServiceRecommendationsRequest { serviceArns?: string[] | undefined; nextToken?: string | undefined; maxResults?: number | undefined; filters?: ECSServiceRecommendationFilter[] | undefined; accountIds?: string[] | undefined; } export interface MemorySizeConfiguration { memory?: number | undefined; memoryReservation?: number | undefined; } export interface ContainerConfiguration { containerName?: string | undefined; memorySizeConfiguration?: MemorySizeConfiguration | undefined; cpu?: number | undefined; } export interface ServiceConfiguration { memory?: number | undefined; cpu?: number | undefined; containerConfigurations?: ContainerConfiguration[] | undefined; autoScalingConfiguration?: AutoScalingConfiguration | undefined; taskDefinitionArn?: string | undefined; } export interface ECSSavingsEstimationMode { source?: ECSSavingsEstimationModeSource | undefined; } export interface ECSEffectiveRecommendationPreferences { savingsEstimationMode?: ECSSavingsEstimationMode | undefined; lookBackPeriod?: LookBackPeriodPreference | undefined; } export interface ContainerRecommendation { containerName?: string | undefined; memorySizeConfiguration?: MemorySizeConfiguration | undefined; cpu?: number | undefined; } export interface ECSServiceProjectedUtilizationMetric { name?: ECSServiceMetricName | undefined; statistic?: ECSServiceMetricStatistic | undefined; lowerBoundValue?: number | undefined; upperBoundValue?: number | undefined; } export interface ECSEstimatedMonthlySavings { currency?: Currency | undefined; value?: number | undefined; } export interface ECSSavingsOpportunityAfterDiscounts { savingsOpportunityPercentage?: number | undefined; estimatedMonthlySavings?: ECSEstimatedMonthlySavings | undefined; } export interface ECSServiceRecommendationOption { memory?: number | undefined; cpu?: number | undefined; savingsOpportunity?: SavingsOpportunity | undefined; savingsOpportunityAfterDiscounts?: ECSSavingsOpportunityAfterDiscounts | undefined; projectedUtilizationMetrics?: ECSServiceProjectedUtilizationMetric[] | undefined; containerRecommendations?: ContainerRecommendation[] | undefined; } export interface ECSServiceUtilizationMetric { name?: ECSServiceMetricName | undefined; statistic?: ECSServiceMetricStatistic | undefined; value?: number | undefined; } export interface ECSServiceRecommendation { serviceArn?: string | undefined; accountId?: string | undefined; currentServiceConfiguration?: ServiceConfiguration | undefined; utilizationMetrics?: ECSServiceUtilizationMetric[] | undefined; lookbackPeriodInDays?: number | undefined; launchType?: ECSServiceLaunchType | undefined; lastRefreshTimestamp?: Date | undefined; finding?: ECSServiceRecommendationFinding | undefined; findingReasonCodes?: ECSServiceRecommendationFindingReasonCode[] | undefined; serviceRecommendationOptions?: ECSServiceRecommendationOption[] | undefined; currentPerformanceRisk?: CurrentPerformanceRisk | undefined; effectiveRecommendationPreferences?: ECSEffectiveRecommendationPreferences | undefined; tags?: Tag[] | undefined; } export interface GetECSServiceRecommendationsResponse { nextToken?: string | undefined; ecsServiceRecommendations?: ECSServiceRecommendation[] | undefined; errors?: GetRecommendationError[] | undefined; } export interface GetEffectiveRecommendationPreferencesRequest { resourceArn: string | undefined; } export interface GetEffectiveRecommendationPreferencesResponse { enhancedInfrastructureMetrics?: EnhancedInfrastructureMetrics | undefined; externalMetricsPreference?: ExternalMetricsPreference | undefined; lookBackPeriod?: LookBackPeriodPreference | undefined; utilizationPreferences?: UtilizationPreference[] | undefined; preferredResources?: EffectivePreferredResource[] | undefined; } export interface GetEnrollmentStatusRequest {} export interface GetEnrollmentStatusResponse { status?: Status | undefined; statusReason?: string | undefined; memberAccountsEnrolled?: boolean | undefined; lastUpdatedTimestamp?: Date | undefined; numberOfMemberAccountsOptedIn?: number | undefined; } export interface EnrollmentFilter { name?: EnrollmentFilterName | undefined; values?: string[] | undefined; } export interface GetEnrollmentStatusesForOrganizationRequest { filters?: EnrollmentFilter[] | undefined; nextToken?: string | undefined; maxResults?: number | undefined; } export interface GetEnrollmentStatusesForOrganizationResponse { accountEnrollmentStatuses?: AccountEnrollmentStatus[] | undefined; nextToken?: string | undefined; } export interface OrderBy { dimension?: Dimension | undefined; order?: Order | undefined; } export interface GetIdleRecommendationsRequest { resourceArns?: string[] | undefined; nextToken?: string | undefined; maxResults?: number | undefined; filters?: IdleRecommendationFilter[] | undefined; accountIds?: string[] | undefined; orderBy?: OrderBy | undefined; } export interface IdleRecommendationError { identifier?: string | undefined; code?: string | undefined; message?: string | undefined; resourceType?: IdleRecommendationResourceType | undefined; } export interface IdleEstimatedMonthlySavings { currency?: Currency | undefined; value?: number | undefined; } export interface IdleSavingsOpportunity { savingsOpportunityPercentage?: number | undefined; estimatedMonthlySavings?: IdleEstimatedMonthlySavings | undefined; } export interface IdleSavingsOpportunityAfterDiscounts { savingsOpportunityPercentage?: number | undefined; estimatedMonthlySavings?: IdleEstimatedMonthlySavings | undefined; } export interface IdleDimension { key?: string | undefined; values?: string[] | undefined; } export interface IdleUtilizationMetric { name?: IdleMetricName | undefined; statistic?: MetricStatistic | undefined; value?: number | undefined; dimensions?: IdleDimension[] | undefined; } export interface IdleRecommendation { resourceArn?: string | undefined; resourceId?: string | undefined; resourceType?: IdleRecommendationResourceType | undefined; accountId?: string | undefined; finding?: IdleFinding | undefined; findingDescription?: string | undefined; savingsOpportunity?: IdleSavingsOpportunity | undefined; savingsOpportunityAfterDiscounts?: IdleSavingsOpportunityAfterDiscounts | undefined; utilizationMetrics?: IdleUtilizationMetric[] | undefined; lookBackPeriodInDays?: number | undefined; lastRefreshTimestamp?: Date | undefined; tags?: Tag[] | undefined; } export interface GetIdleRecommendationsResponse { nextToken?: string | undefined; idleRecommendations?: IdleRecommendation[] | undefined; errors?: IdleRecommendationError[] | undefined; } export interface GetLambdaFunctionRecommendationsRequest { functionArns?: string[] | undefined; accountIds?: string[] | undefined; filters?: LambdaFunctionRecommendationFilter[] | undefined; nextToken?: string | undefined; maxResults?: number | undefined; } export interface LambdaSavingsEstimationMode { source?: LambdaSavingsEstimationModeSource | undefined; } export interface LambdaEffectiveRecommendationPreferences { savingsEstimationMode?: LambdaSavingsEstimationMode | undefined; } export interface LambdaFunctionMemoryProjectedMetric { name?: LambdaFunctionMemoryMetricName | undefined; statistic?: LambdaFunctionMemoryMetricStatistic | undefined; value?: number | undefined; } export interface LambdaEstimatedMonthlySavings { currency?: Currency | undefined; value?: number | undefined; } export interface LambdaSavingsOpportunityAfterDiscounts { savingsOpportunityPercentage?: number | undefined; estimatedMonthlySavings?: LambdaEstimatedMonthlySavings | undefined; } export interface LambdaFunctionMemoryRecommendationOption { rank?: number | undefined; memorySize?: number | undefined; projectedUtilizationMetrics?: LambdaFunctionMemoryProjectedMetric[] | undefined; savingsOpportunity?: SavingsOpportunity | undefined; savingsOpportunityAfterDiscounts?: LambdaSavingsOpportunityAfterDiscounts | undefined; } export interface LambdaFunctionUtilizationMetric { name?: LambdaFunctionMetricName | undefined; statistic?: LambdaFunctionMetricStatistic | undefined; value?: number | undefined; } export interface LambdaFunctionRecommendation { functionArn?: string | undefined; functionVersion?: string | undefined; accountId?: string | undefined; currentMemorySize?: number | undefined; numberOfInvocations?: number | undefined; utilizationMetrics?: LambdaFunctionUtilizationMetric[] | undefined; lookbackPeriodInDays?: number | undefined; lastRefreshTimestamp?: Date | undefined; finding?: LambdaFunctionRecommendationFinding | undefined; findingReasonCodes?: LambdaFunctionRecommendationFindingReasonCode[] | undefined; memorySizeRecommendationOptions?: LambdaFunctionMemoryRecommendationOption[] | undefined; currentPerformanceRisk?: CurrentPerformanceRisk | undefined; effectiveRecommendationPreferences?: LambdaEffectiveRecommendationPreferences | undefined; tags?: Tag[] | undefined; } export interface GetLambdaFunctionRecommendationsResponse { nextToken?: string | undefined; lambdaFunctionRecommendations?: LambdaFunctionRecommendation[] | undefined; } export interface GetLicenseRecommendationsRequest { resourceArns?: string[] | undefined; nextToken?: string | undefined; maxResults?: number | undefined; filters?: LicenseRecommendationFilter[] | undefined; accountIds?: string[] | undefined; } export interface MetricSource { provider?: MetricSourceProvider | undefined; providerArn?: string | undefined; } export interface LicenseConfiguration { numberOfCores?: number | undefined; instanceType?: string | undefined; operatingSystem?: string | undefined; licenseEdition?: LicenseEdition | undefined; licenseName?: LicenseName | undefined; licenseModel?: LicenseModel | undefined; licenseVersion?: string | undefined; metricsSource?: MetricSource[] | undefined; } export interface LicenseRecommendationOption { rank?: number | undefined; operatingSystem?: string | undefined; licenseEdition?: LicenseEdition | undefined; licenseModel?: LicenseModel | undefined; savingsOpportunity?: SavingsOpportunity | undefined; } export interface LicenseRecommendation { resourceArn?: string | undefined; accountId?: string | undefined; currentLicenseConfiguration?: LicenseConfiguration | undefined; lookbackPeriodInDays?: number | undefined; lastRefreshTimestamp?: Date | undefined; finding?: LicenseFinding | undefined; findingReasonCodes?: LicenseFindingReasonCode[] | undefined; licenseRecommendationOptions?: LicenseRecommendationOption[] | undefined; tags?: Tag[] | undefined; } export interface GetLicenseRecommendationsResponse { nextToken?: string | undefined; licenseRecommendations?: LicenseRecommendation[] | undefined; errors?: GetRecommendationError[] | undefined; } export interface GetRDSDatabaseRecommendationProjectedMetricsRequest { resourceArn: string | undefined; stat: MetricStatistic | undefined; period: number | undefined; startTime: Date | undefined; endTime: Date | undefined; recommendationPreferences?: RecommendationPreferences | undefined; } export interface RDSDatabaseProjectedMetric { name?: RDSDBMetricName | undefined; timestamps?: Date[] | undefined; values?: number[] | undefined; } export interface RDSDatabaseRecommendedOptionProjectedMetric { recommendedDBInstanceClass?: string | undefined; rank?: number | undefined; projectedMetrics?: RDSDatabaseProjectedMetric[] | undefined; } export interface GetRDSDatabaseRecommendationProjectedMetricsResponse { recommendedOptionProjectedMetrics?: RDSDatabaseRecommendedOptionProjectedMetric[] | undefined; } export interface GetRDSDatabaseRecommendationsRequest { resourceArns?: string[] | undefined; nextToken?: string | undefined; maxResults?: number | undefined; filters?: RDSDBRecommendationFilter[] | undefined; accountIds?: string[] | undefined; recommendationPreferences?: RecommendationPreferences | undefined; } export interface DBStorageConfiguration { storageType?: string | undefined; allocatedStorage?: number | undefined; iops?: number | undefined; maxAllocatedStorage?: number | undefined; storageThroughput?: number | undefined; } export interface RDSSavingsEstimationMode { source?: RDSSavingsEstimationModeSource | undefined; } export interface RDSEffectiveRecommendationPreferences { cpuVendorArchitectures?: CpuVendorArchitecture[] | undefined; enhancedInfrastructureMetrics?: EnhancedInfrastructureMetrics | undefined; lookBackPeriod?: LookBackPeriodPreference | undefined; savingsEstimationMode?: RDSSavingsEstimationMode | undefined; } export interface RDSDBUtilizationMetric { name?: RDSDBMetricName | undefined; statistic?: RDSDBMetricStatistic | undefined; value?: number | undefined; } export interface RDSInstanceEstimatedMonthlySavings { currency?: Currency | undefined; value?: number | undefined; } export interface RDSInstanceSavingsOpportunityAfterDiscounts { savingsOpportunityPercentage?: number | undefined; estimatedMonthlySavings?: RDSInstanceEstimatedMonthlySavings | undefined; } export interface RDSDBInstanceRecommendationOption { dbInstanceClass?: string | undefined; projectedUtilizationMetrics?: RDSDBUtilizationMetric[] | undefined; performanceRisk?: number | undefined; rank?: number | undefined; savingsOpportunity?: SavingsOpportunity | undefined; savingsOpportunityAfterDiscounts?: RDSInstanceSavingsOpportunityAfterDiscounts | undefined; } export interface RDSStorageEstimatedMonthlySavings { currency?: Currency | undefined; value?: number | undefined; } export interface RDSStorageSavingsOpportunityAfterDiscounts { savingsOpportunityPercentage?: number | undefined; estimatedMonthlySavings?: RDSStorageEstimatedMonthlySavings | undefined; } export interface RDSDBStorageRecommendationOption { storageConfiguration?: DBStorageConfiguration | undefined; rank?: number | undefined; savingsOpportunity?: SavingsOpportunity | undefined; savingsOpportunityAfterDiscounts?: RDSStorageSavingsOpportunityAfterDiscounts | undefined; estimatedMonthlyVolumeIOPsCostVariation?: RDSEstimatedMonthlyVolumeIOPsCostVariation | undefined; } export interface RDSDBRecommendation { resourceArn?: string | undefined; accountId?: string | undefined; engine?: string | undefined; engineVersion?: string | undefined; promotionTier?: number | undefined; currentDBInstanceClass?: string | undefined; currentStorageConfiguration?: DBStorageConfiguration | undefined; dbClusterIdentifier?: string | undefined; idle?: Idle | undefined; instanceFinding?: RDSInstanceFinding | undefined; storageFinding?: RDSStorageFinding | undefined; instanceFindingReasonCodes?: RDSInstanceFindingReasonCode[] | undefined; currentInstancePerformanceRisk?: RDSCurrentInstancePerformanceRisk | undefined; currentStorageEstimatedMonthlyVolumeIOPsCostVariation?: | RDSEstimatedMonthlyVolumeIOPsCostVariation | undefined; storageFindingReasonCodes?: RDSStorageFindingReasonCode[] | undefined; instanceRecommendationOptions?: RDSDBInstanceRecommendationOption[] | undefined; storageRecommendationOptions?: RDSDBStorageRecommendationOption[] | undefined; utilizationMetrics?: RDSDBUtilizationMetric[] | undefined; effectiveRecommendationPreferences?: RDSEffectiveRecommendationPreferences | undefined; lookbackPeriodInDays?: number | undefined; lastRefreshTimestamp?: Date | undefined; tags?: Tag[] | undefined; } export interface GetRDSDatabaseRecommendationsResponse { nextToken?: string | undefined; rdsDBRecommendations?: RDSDBRecommendation[] | undefined; errors?: GetRecommendationError[] | undefined; } export interface GetRecommendationPreferencesRequest { resourceType: ResourceType | undefined; scope?: Scope | undefined; nextToken?: string | undefined; maxResults?: number | undefined; } export interface RecommendationPreferencesDetail { scope?: Scope | undefined; resourceType?: ResourceType | undefined; enhancedInfrastructureMetrics?: EnhancedInfrastructureMetrics | undefined; inferredWorkloadTypes?: InferredWorkloadTypesPreference | undefined; externalMetricsPreference?: ExternalMetricsPreference | undefined; lookBackPeriod?: LookBackPeriodPreference | undefined; utilizationPreferences?: UtilizationPreference[] | undefined; preferredResources?: EffectivePreferredResource[] | undefined; savingsEstimationMode?: SavingsEstimationMode | undefined; } export interface GetRecommendationPreferencesResponse { nextToken?: string | undefined; recommendationPreferencesDetails?: RecommendationPreferencesDetail[] | undefined; } export interface GetRecommendationSummariesRequest { accountIds?: string[] | undefined; nextToken?: string | undefined; maxResults?: number | undefined; } export interface CurrentPerformanceRiskRatings { high?: number | undefined; medium?: number | undefined; low?: number | undefined; veryLow?: number | undefined; } export interface IdleSummary { name?: IdleFinding | undefined; value?: number | undefined; } export interface InferredWorkloadSaving { inferredWorkloadTypes?: InferredWorkloadType[] | undefined; estimatedMonthlySavings?: EstimatedMonthlySavings | undefined; } export interface ReasonCodeSummary { name?: FindingReasonCode | undefined; value?: number | undefined; } export interface Summary { name?: Finding | undefined; value?: number | undefined; reasonCodeSummaries?: ReasonCodeSummary[] | undefined; } export interface RecommendationSummary { summaries?: Summary[] | undefined; idleSummaries?: IdleSummary[] | undefined; recommendationResourceType?: RecommendationSourceType | undefined; accountId?: string | undefined; savingsOpportunity?: SavingsOpportunity | undefined; idleSavingsOpportunity?: SavingsOpportunity | undefined; aggregatedSavingsOpportunity?: SavingsOpportunity | undefined; currentPerformanceRiskRatings?: CurrentPerformanceRiskRatings | undefined; inferredWorkloadSavings?: InferredWorkloadSaving[] | undefined; } export interface GetRecommendationSummariesResponse { nextToken?: string | undefined; recommendationSummaries?: RecommendationSummary[] | undefined; } export interface PreferredResource { name?: PreferredResourceName | undefined; includeList?: string[] | undefined; excludeList?: string[] | undefined; } export interface PutRecommendationPreferencesRequest { resourceType: ResourceType | undefined; scope?: Scope | undefined; enhancedInfrastructureMetrics?: EnhancedInfrastructureMetrics | undefined; inferredWorkloadTypes?: InferredWorkloadTypesPreference | undefined; externalMetricsPreference?: ExternalMetricsPreference | undefined; lookBackPeriod?: LookBackPeriodPreference | undefined; utilizationPreferences?: UtilizationPreference[] | undefined; preferredResources?: PreferredResource[] | undefined; savingsEstimationMode?: SavingsEstimationMode | undefined; } export interface PutRecommendationPreferencesResponse {} export interface UpdateEnrollmentStatusRequest { status: Status | undefined; includeMemberAccounts?: boolean | undefined; } export interface UpdateEnrollmentStatusResponse { status?: Status | undefined; statusReason?: string | undefined; }