@cdktf/provider-google
Version:
Prebuilt google Provider for Terraform CDK (cdktf)
874 lines • 64.2 kB
TypeScript
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
*/
import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface MonitoringSloConfig extends cdktf.TerraformMetaArguments {
/**
* A calendar period, semantically "since the start of the current
* <calendarPeriod>". Possible values: ["DAY", "WEEK", "FORTNIGHT", "MONTH"]
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/monitoring_slo#calendar_period MonitoringSlo#calendar_period}
*/
readonly calendarPeriod?: string;
/**
* Name used for UI elements listing this SLO.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/monitoring_slo#display_name MonitoringSlo#display_name}
*/
readonly displayName?: string;
/**
* The fraction of service that must be good in order for this objective
* to be met. 0 < goal <= 0.999
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/monitoring_slo#goal MonitoringSlo#goal}
*/
readonly goal: number;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/monitoring_slo#id MonitoringSlo#id}
*
* Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
* If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.
*/
readonly id?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/monitoring_slo#project MonitoringSlo#project}
*/
readonly project?: string;
/**
* A rolling time period, semantically "in the past X days".
* Must be between 1 to 30 days, inclusive.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/monitoring_slo#rolling_period_days MonitoringSlo#rolling_period_days}
*/
readonly rollingPeriodDays?: number;
/**
* ID of the service to which this SLO belongs.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/monitoring_slo#service MonitoringSlo#service}
*/
readonly service: string;
/**
* The id to use for this ServiceLevelObjective. If omitted, an id will be generated instead.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/monitoring_slo#slo_id MonitoringSlo#slo_id}
*/
readonly sloId?: string;
/**
* This field is intended to be used for organizing and identifying the AlertPolicy
* objects.The field can contain up to 64 entries. Each key and value is limited
* to 63 Unicode characters or 128 bytes, whichever is smaller. Labels and values
* can contain only lowercase letters, numerals, underscores, and dashes. Keys
* must begin with a letter.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/monitoring_slo#user_labels MonitoringSlo#user_labels}
*/
readonly userLabels?: {
[key: string]: string;
};
/**
* basic_sli block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/monitoring_slo#basic_sli MonitoringSlo#basic_sli}
*/
readonly basicSli?: MonitoringSloBasicSli;
/**
* request_based_sli block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/monitoring_slo#request_based_sli MonitoringSlo#request_based_sli}
*/
readonly requestBasedSli?: MonitoringSloRequestBasedSli;
/**
* timeouts block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/monitoring_slo#timeouts MonitoringSlo#timeouts}
*/
readonly timeouts?: MonitoringSloTimeouts;
/**
* windows_based_sli block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/monitoring_slo#windows_based_sli MonitoringSlo#windows_based_sli}
*/
readonly windowsBasedSli?: MonitoringSloWindowsBasedSli;
}
export interface MonitoringSloBasicSliAvailability {
/**
* Whether an availability SLI is enabled or not. Must be set to true. Defaults to 'true'.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/monitoring_slo#enabled MonitoringSlo#enabled}
*/
readonly enabled?: boolean | cdktf.IResolvable;
}
export declare function monitoringSloBasicSliAvailabilityToTerraform(struct?: MonitoringSloBasicSliAvailabilityOutputReference | MonitoringSloBasicSliAvailability): any;
export declare function monitoringSloBasicSliAvailabilityToHclTerraform(struct?: MonitoringSloBasicSliAvailabilityOutputReference | MonitoringSloBasicSliAvailability): any;
export declare class MonitoringSloBasicSliAvailabilityOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): MonitoringSloBasicSliAvailability | undefined;
set internalValue(value: MonitoringSloBasicSliAvailability | undefined);
private _enabled?;
get enabled(): boolean | cdktf.IResolvable;
set enabled(value: boolean | cdktf.IResolvable);
resetEnabled(): void;
get enabledInput(): boolean | cdktf.IResolvable | undefined;
}
export interface MonitoringSloBasicSliLatency {
/**
* A duration string, e.g. 10s.
* Good service is defined to be the count of requests made to
* this service that return in no more than threshold.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/monitoring_slo#threshold MonitoringSlo#threshold}
*/
readonly threshold: string;
}
export declare function monitoringSloBasicSliLatencyToTerraform(struct?: MonitoringSloBasicSliLatencyOutputReference | MonitoringSloBasicSliLatency): any;
export declare function monitoringSloBasicSliLatencyToHclTerraform(struct?: MonitoringSloBasicSliLatencyOutputReference | MonitoringSloBasicSliLatency): any;
export declare class MonitoringSloBasicSliLatencyOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): MonitoringSloBasicSliLatency | undefined;
set internalValue(value: MonitoringSloBasicSliLatency | undefined);
private _threshold?;
get threshold(): string;
set threshold(value: string);
get thresholdInput(): string | undefined;
}
export interface MonitoringSloBasicSli {
/**
* An optional set of locations to which this SLI is relevant.
* Telemetry from other locations will not be used to calculate
* performance for this SLI. If omitted, this SLI applies to all
* locations in which the Service has activity. For service types
* that don't support breaking down by location, setting this
* field will result in an error.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/monitoring_slo#location MonitoringSlo#location}
*/
readonly location?: string[];
/**
* An optional set of RPCs to which this SLI is relevant.
* Telemetry from other methods will not be used to calculate
* performance for this SLI. If omitted, this SLI applies to all
* the Service's methods. For service types that don't support
* breaking down by method, setting this field will result in an
* error.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/monitoring_slo#method MonitoringSlo#method}
*/
readonly method?: string[];
/**
* The set of API versions to which this SLI is relevant.
* Telemetry from other API versions will not be used to
* calculate performance for this SLI. If omitted,
* this SLI applies to all API versions. For service types
* that don't support breaking down by version, setting this
* field will result in an error.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/monitoring_slo#version MonitoringSlo#version}
*/
readonly version?: string[];
/**
* availability block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/monitoring_slo#availability MonitoringSlo#availability}
*/
readonly availability?: MonitoringSloBasicSliAvailability;
/**
* latency block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/monitoring_slo#latency MonitoringSlo#latency}
*/
readonly latency?: MonitoringSloBasicSliLatency;
}
export declare function monitoringSloBasicSliToTerraform(struct?: MonitoringSloBasicSliOutputReference | MonitoringSloBasicSli): any;
export declare function monitoringSloBasicSliToHclTerraform(struct?: MonitoringSloBasicSliOutputReference | MonitoringSloBasicSli): any;
export declare class MonitoringSloBasicSliOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): MonitoringSloBasicSli | undefined;
set internalValue(value: MonitoringSloBasicSli | undefined);
private _location?;
get location(): string[];
set location(value: string[]);
resetLocation(): void;
get locationInput(): string[] | undefined;
private _method?;
get method(): string[];
set method(value: string[]);
resetMethod(): void;
get methodInput(): string[] | undefined;
private _version?;
get version(): string[];
set version(value: string[]);
resetVersion(): void;
get versionInput(): string[] | undefined;
private _availability;
get availability(): MonitoringSloBasicSliAvailabilityOutputReference;
putAvailability(value: MonitoringSloBasicSliAvailability): void;
resetAvailability(): void;
get availabilityInput(): MonitoringSloBasicSliAvailability | undefined;
private _latency;
get latency(): MonitoringSloBasicSliLatencyOutputReference;
putLatency(value: MonitoringSloBasicSliLatency): void;
resetLatency(): void;
get latencyInput(): MonitoringSloBasicSliLatency | undefined;
}
export interface MonitoringSloRequestBasedSliDistributionCutRange {
/**
* max value for the range (inclusive). If not given,
* will be set to 0
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/monitoring_slo#max MonitoringSlo#max}
*/
readonly max?: number;
/**
* Min value for the range (inclusive). If not given,
* will be set to 0
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/monitoring_slo#min MonitoringSlo#min}
*/
readonly min?: number;
}
export declare function monitoringSloRequestBasedSliDistributionCutRangeToTerraform(struct?: MonitoringSloRequestBasedSliDistributionCutRangeOutputReference | MonitoringSloRequestBasedSliDistributionCutRange): any;
export declare function monitoringSloRequestBasedSliDistributionCutRangeToHclTerraform(struct?: MonitoringSloRequestBasedSliDistributionCutRangeOutputReference | MonitoringSloRequestBasedSliDistributionCutRange): any;
export declare class MonitoringSloRequestBasedSliDistributionCutRangeOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): MonitoringSloRequestBasedSliDistributionCutRange | undefined;
set internalValue(value: MonitoringSloRequestBasedSliDistributionCutRange | undefined);
private _max?;
get max(): number;
set max(value: number);
resetMax(): void;
get maxInput(): number | undefined;
private _min?;
get min(): number;
set min(value: number);
resetMin(): void;
get minInput(): number | undefined;
}
export interface MonitoringSloRequestBasedSliDistributionCut {
/**
* A TimeSeries [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)
* aggregating values to quantify the good service provided.
*
* Must have ValueType = DISTRIBUTION and
* MetricKind = DELTA or MetricKind = CUMULATIVE.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/monitoring_slo#distribution_filter MonitoringSlo#distribution_filter}
*/
readonly distributionFilter: string;
/**
* range block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/monitoring_slo#range MonitoringSlo#range}
*/
readonly range: MonitoringSloRequestBasedSliDistributionCutRange;
}
export declare function monitoringSloRequestBasedSliDistributionCutToTerraform(struct?: MonitoringSloRequestBasedSliDistributionCutOutputReference | MonitoringSloRequestBasedSliDistributionCut): any;
export declare function monitoringSloRequestBasedSliDistributionCutToHclTerraform(struct?: MonitoringSloRequestBasedSliDistributionCutOutputReference | MonitoringSloRequestBasedSliDistributionCut): any;
export declare class MonitoringSloRequestBasedSliDistributionCutOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): MonitoringSloRequestBasedSliDistributionCut | undefined;
set internalValue(value: MonitoringSloRequestBasedSliDistributionCut | undefined);
private _distributionFilter?;
get distributionFilter(): string;
set distributionFilter(value: string);
get distributionFilterInput(): string | undefined;
private _range;
get range(): MonitoringSloRequestBasedSliDistributionCutRangeOutputReference;
putRange(value: MonitoringSloRequestBasedSliDistributionCutRange): void;
get rangeInput(): MonitoringSloRequestBasedSliDistributionCutRange | undefined;
}
export interface MonitoringSloRequestBasedSliGoodTotalRatio {
/**
* A TimeSeries [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)
* quantifying bad service provided, either demanded service that
* was not provided or demanded service that was of inadequate
* quality.
*
* Must have ValueType = DOUBLE or ValueType = INT64 and
* must have MetricKind = DELTA or MetricKind = CUMULATIVE.
*
* Exactly two of 'good_service_filter','bad_service_filter','total_service_filter'
* must be set (good + bad = total is assumed).
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/monitoring_slo#bad_service_filter MonitoringSlo#bad_service_filter}
*/
readonly badServiceFilter?: string;
/**
* A TimeSeries [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)
* quantifying good service provided.
* Must have ValueType = DOUBLE or ValueType = INT64 and
* must have MetricKind = DELTA or MetricKind = CUMULATIVE.
*
* Exactly two of 'good_service_filter','bad_service_filter','total_service_filter'
* must be set (good + bad = total is assumed).
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/monitoring_slo#good_service_filter MonitoringSlo#good_service_filter}
*/
readonly goodServiceFilter?: string;
/**
* A TimeSeries [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)
* quantifying total demanded service.
*
* Must have ValueType = DOUBLE or ValueType = INT64 and
* must have MetricKind = DELTA or MetricKind = CUMULATIVE.
*
* Exactly two of 'good_service_filter','bad_service_filter','total_service_filter'
* must be set (good + bad = total is assumed).
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/monitoring_slo#total_service_filter MonitoringSlo#total_service_filter}
*/
readonly totalServiceFilter?: string;
}
export declare function monitoringSloRequestBasedSliGoodTotalRatioToTerraform(struct?: MonitoringSloRequestBasedSliGoodTotalRatioOutputReference | MonitoringSloRequestBasedSliGoodTotalRatio): any;
export declare function monitoringSloRequestBasedSliGoodTotalRatioToHclTerraform(struct?: MonitoringSloRequestBasedSliGoodTotalRatioOutputReference | MonitoringSloRequestBasedSliGoodTotalRatio): any;
export declare class MonitoringSloRequestBasedSliGoodTotalRatioOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): MonitoringSloRequestBasedSliGoodTotalRatio | undefined;
set internalValue(value: MonitoringSloRequestBasedSliGoodTotalRatio | undefined);
private _badServiceFilter?;
get badServiceFilter(): string;
set badServiceFilter(value: string);
resetBadServiceFilter(): void;
get badServiceFilterInput(): string | undefined;
private _goodServiceFilter?;
get goodServiceFilter(): string;
set goodServiceFilter(value: string);
resetGoodServiceFilter(): void;
get goodServiceFilterInput(): string | undefined;
private _totalServiceFilter?;
get totalServiceFilter(): string;
set totalServiceFilter(value: string);
resetTotalServiceFilter(): void;
get totalServiceFilterInput(): string | undefined;
}
export interface MonitoringSloRequestBasedSli {
/**
* distribution_cut block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/monitoring_slo#distribution_cut MonitoringSlo#distribution_cut}
*/
readonly distributionCut?: MonitoringSloRequestBasedSliDistributionCut;
/**
* good_total_ratio block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/monitoring_slo#good_total_ratio MonitoringSlo#good_total_ratio}
*/
readonly goodTotalRatio?: MonitoringSloRequestBasedSliGoodTotalRatio;
}
export declare function monitoringSloRequestBasedSliToTerraform(struct?: MonitoringSloRequestBasedSliOutputReference | MonitoringSloRequestBasedSli): any;
export declare function monitoringSloRequestBasedSliToHclTerraform(struct?: MonitoringSloRequestBasedSliOutputReference | MonitoringSloRequestBasedSli): any;
export declare class MonitoringSloRequestBasedSliOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): MonitoringSloRequestBasedSli | undefined;
set internalValue(value: MonitoringSloRequestBasedSli | undefined);
private _distributionCut;
get distributionCut(): MonitoringSloRequestBasedSliDistributionCutOutputReference;
putDistributionCut(value: MonitoringSloRequestBasedSliDistributionCut): void;
resetDistributionCut(): void;
get distributionCutInput(): MonitoringSloRequestBasedSliDistributionCut | undefined;
private _goodTotalRatio;
get goodTotalRatio(): MonitoringSloRequestBasedSliGoodTotalRatioOutputReference;
putGoodTotalRatio(value: MonitoringSloRequestBasedSliGoodTotalRatio): void;
resetGoodTotalRatio(): void;
get goodTotalRatioInput(): MonitoringSloRequestBasedSliGoodTotalRatio | undefined;
}
export interface MonitoringSloTimeouts {
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/monitoring_slo#create MonitoringSlo#create}
*/
readonly create?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/monitoring_slo#delete MonitoringSlo#delete}
*/
readonly delete?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/monitoring_slo#update MonitoringSlo#update}
*/
readonly update?: string;
}
export declare function monitoringSloTimeoutsToTerraform(struct?: MonitoringSloTimeouts | cdktf.IResolvable): any;
export declare function monitoringSloTimeoutsToHclTerraform(struct?: MonitoringSloTimeouts | cdktf.IResolvable): any;
export declare class MonitoringSloTimeoutsOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
private resolvableValue?;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): MonitoringSloTimeouts | cdktf.IResolvable | undefined;
set internalValue(value: MonitoringSloTimeouts | cdktf.IResolvable | undefined);
private _create?;
get create(): string;
set create(value: string);
resetCreate(): void;
get createInput(): string | undefined;
private _delete?;
get delete(): string;
set delete(value: string);
resetDelete(): void;
get deleteInput(): string | undefined;
private _update?;
get update(): string;
set update(value: string);
resetUpdate(): void;
get updateInput(): string | undefined;
}
export interface MonitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceAvailability {
/**
* Whether an availability SLI is enabled or not. Must be set to 'true. Defaults to 'true'.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/monitoring_slo#enabled MonitoringSlo#enabled}
*/
readonly enabled?: boolean | cdktf.IResolvable;
}
export declare function monitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceAvailabilityToTerraform(struct?: MonitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceAvailabilityOutputReference | MonitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceAvailability): any;
export declare function monitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceAvailabilityToHclTerraform(struct?: MonitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceAvailabilityOutputReference | MonitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceAvailability): any;
export declare class MonitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceAvailabilityOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): MonitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceAvailability | undefined;
set internalValue(value: MonitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceAvailability | undefined);
private _enabled?;
get enabled(): boolean | cdktf.IResolvable;
set enabled(value: boolean | cdktf.IResolvable);
resetEnabled(): void;
get enabledInput(): boolean | cdktf.IResolvable | undefined;
}
export interface MonitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceLatency {
/**
* A duration string, e.g. 10s.
* Good service is defined to be the count of requests made to
* this service that return in no more than threshold.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/monitoring_slo#threshold MonitoringSlo#threshold}
*/
readonly threshold: string;
}
export declare function monitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceLatencyToTerraform(struct?: MonitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceLatencyOutputReference | MonitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceLatency): any;
export declare function monitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceLatencyToHclTerraform(struct?: MonitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceLatencyOutputReference | MonitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceLatency): any;
export declare class MonitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceLatencyOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): MonitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceLatency | undefined;
set internalValue(value: MonitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceLatency | undefined);
private _threshold?;
get threshold(): string;
set threshold(value: string);
get thresholdInput(): string | undefined;
}
export interface MonitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformance {
/**
* An optional set of locations to which this SLI is relevant.
* Telemetry from other locations will not be used to calculate
* performance for this SLI. If omitted, this SLI applies to all
* locations in which the Service has activity. For service types
* that don't support breaking down by location, setting this
* field will result in an error.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/monitoring_slo#location MonitoringSlo#location}
*/
readonly location?: string[];
/**
* An optional set of RPCs to which this SLI is relevant.
* Telemetry from other methods will not be used to calculate
* performance for this SLI. If omitted, this SLI applies to all
* the Service's methods. For service types that don't support
* breaking down by method, setting this field will result in an
* error.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/monitoring_slo#method MonitoringSlo#method}
*/
readonly method?: string[];
/**
* The set of API versions to which this SLI is relevant.
* Telemetry from other API versions will not be used to
* calculate performance for this SLI. If omitted,
* this SLI applies to all API versions. For service types
* that don't support breaking down by version, setting this
* field will result in an error.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/monitoring_slo#version MonitoringSlo#version}
*/
readonly version?: string[];
/**
* availability block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/monitoring_slo#availability MonitoringSlo#availability}
*/
readonly availability?: MonitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceAvailability;
/**
* latency block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/monitoring_slo#latency MonitoringSlo#latency}
*/
readonly latency?: MonitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceLatency;
}
export declare function monitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceToTerraform(struct?: MonitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceOutputReference | MonitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformance): any;
export declare function monitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceToHclTerraform(struct?: MonitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceOutputReference | MonitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformance): any;
export declare class MonitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): MonitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformance | undefined;
set internalValue(value: MonitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformance | undefined);
private _location?;
get location(): string[];
set location(value: string[]);
resetLocation(): void;
get locationInput(): string[] | undefined;
private _method?;
get method(): string[];
set method(value: string[]);
resetMethod(): void;
get methodInput(): string[] | undefined;
private _version?;
get version(): string[];
set version(value: string[]);
resetVersion(): void;
get versionInput(): string[] | undefined;
private _availability;
get availability(): MonitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceAvailabilityOutputReference;
putAvailability(value: MonitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceAvailability): void;
resetAvailability(): void;
get availabilityInput(): MonitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceAvailability | undefined;
private _latency;
get latency(): MonitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceLatencyOutputReference;
putLatency(value: MonitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceLatency): void;
resetLatency(): void;
get latencyInput(): MonitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceLatency | undefined;
}
export interface MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCutRange {
/**
* max value for the range (inclusive). If not given,
* will be set to 0
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/monitoring_slo#max MonitoringSlo#max}
*/
readonly max?: number;
/**
* Min value for the range (inclusive). If not given,
* will be set to 0
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/monitoring_slo#min MonitoringSlo#min}
*/
readonly min?: number;
}
export declare function monitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCutRangeToTerraform(struct?: MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCutRangeOutputReference | MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCutRange): any;
export declare function monitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCutRangeToHclTerraform(struct?: MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCutRangeOutputReference | MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCutRange): any;
export declare class MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCutRangeOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCutRange | undefined;
set internalValue(value: MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCutRange | undefined);
private _max?;
get max(): number;
set max(value: number);
resetMax(): void;
get maxInput(): number | undefined;
private _min?;
get min(): number;
set min(value: number);
resetMin(): void;
get minInput(): number | undefined;
}
export interface MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCut {
/**
* A TimeSeries [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)
* aggregating values to quantify the good service provided.
*
* Must have ValueType = DISTRIBUTION and
* MetricKind = DELTA or MetricKind = CUMULATIVE.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/monitoring_slo#distribution_filter MonitoringSlo#distribution_filter}
*/
readonly distributionFilter: string;
/**
* range block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/monitoring_slo#range MonitoringSlo#range}
*/
readonly range: MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCutRange;
}
export declare function monitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCutToTerraform(struct?: MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCutOutputReference | MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCut): any;
export declare function monitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCutToHclTerraform(struct?: MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCutOutputReference | MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCut): any;
export declare class MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCutOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCut | undefined;
set internalValue(value: MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCut | undefined);
private _distributionFilter?;
get distributionFilter(): string;
set distributionFilter(value: string);
get distributionFilterInput(): string | undefined;
private _range;
get range(): MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCutRangeOutputReference;
putRange(value: MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCutRange): void;
get rangeInput(): MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCutRange | undefined;
}
export interface MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceGoodTotalRatio {
/**
* A TimeSeries [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)
* quantifying bad service provided, either demanded service that
* was not provided or demanded service that was of inadequate
* quality. Exactly two of
* good, bad, or total service filter must be defined (where
* good + bad = total is assumed)
*
* Must have ValueType = DOUBLE or ValueType = INT64 and
* must have MetricKind = DELTA or MetricKind = CUMULATIVE.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/monitoring_slo#bad_service_filter MonitoringSlo#bad_service_filter}
*/
readonly badServiceFilter?: string;
/**
* A TimeSeries [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)
* quantifying good service provided. Exactly two of
* good, bad, or total service filter must be defined (where
* good + bad = total is assumed)
*
* Must have ValueType = DOUBLE or ValueType = INT64 and
* must have MetricKind = DELTA or MetricKind = CUMULATIVE.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/monitoring_slo#good_service_filter MonitoringSlo#good_service_filter}
*/
readonly goodServiceFilter?: string;
/**
* A TimeSeries [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)
* quantifying total demanded service. Exactly two of
* good, bad, or total service filter must be defined (where
* good + bad = total is assumed)
*
* Must have ValueType = DOUBLE or ValueType = INT64 and
* must have MetricKind = DELTA or MetricKind = CUMULATIVE.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/monitoring_slo#total_service_filter MonitoringSlo#total_service_filter}
*/
readonly totalServiceFilter?: string;
}
export declare function monitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceGoodTotalRatioToTerraform(struct?: MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceGoodTotalRatioOutputReference | MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceGoodTotalRatio): any;
export declare function monitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceGoodTotalRatioToHclTerraform(struct?: MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceGoodTotalRatioOutputReference | MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceGoodTotalRatio): any;
export declare class MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceGoodTotalRatioOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceGoodTotalRatio | undefined;
set internalValue(value: MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceGoodTotalRatio | undefined);
private _badServiceFilter?;
get badServiceFilter(): string;
set badServiceFilter(value: string);
resetBadServiceFilter(): void;
get badServiceFilterInput(): string | undefined;
private _goodServiceFilter?;
get goodServiceFilter(): string;
set goodServiceFilter(value: string);
resetGoodServiceFilter(): void;
get goodServiceFilterInput(): string | undefined;
private _totalServiceFilter?;
get totalServiceFilter(): string;
set totalServiceFilter(value: string);
resetTotalServiceFilter(): void;
get totalServiceFilterInput(): string | undefined;
}
export interface MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformance {
/**
* distribution_cut block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/monitoring_slo#distribution_cut MonitoringSlo#distribution_cut}
*/
readonly distributionCut?: MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCut;
/**
* good_total_ratio block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/monitoring_slo#good_total_ratio MonitoringSlo#good_total_ratio}
*/
readonly goodTotalRatio?: MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceGoodTotalRatio;
}
export declare function monitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceToTerraform(struct?: MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceOutputReference | MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformance): any;
export declare function monitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceToHclTerraform(struct?: MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceOutputReference | MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformance): any;
export declare class MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformance | undefined;
set internalValue(value: MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformance | undefined);
private _distributionCut;
get distributionCut(): MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCutOutputReference;
putDistributionCut(value: MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCut): void;
resetDistributionCut(): void;
get distributionCutInput(): MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCut | undefined;
private _goodTotalRatio;
get goodTotalRatio(): MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceGoodTotalRatioOutputReference;
putGoodTotalRatio(value: MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceGoodTotalRatio): void;
resetGoodTotalRatio(): void;
get goodTotalRatioInput(): MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceGoodTotalRatio | undefined;
}
export interface MonitoringSloWindowsBasedSliGoodTotalRatioThreshold {
/**
* If window performance >= threshold, the window is counted
* as good.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/monitoring_slo#threshold MonitoringSlo#threshold}
*/
readonly threshold?: number;
/**
* basic_sli_performance block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/monitoring_slo#basic_sli_performance MonitoringSlo#basic_sli_performance}
*/
readonly basicSliPerformance?: MonitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformance;
/**
* performance block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/monitoring_slo#performance MonitoringSlo#performance}
*/
readonly performance?: MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformance;
}
export declare function monitoringSloWindowsBasedSliGoodTotalRatioThresholdToTerraform(struct?: MonitoringSloWindowsBasedSliGoodTotalRatioThresholdOutputReference | MonitoringSloWindowsBasedSliGoodTotalRatioThreshold): any;
export declare function monitoringSloWindowsBasedSliGoodTotalRatioThresholdToHclTerraform(struct?: MonitoringSloWindowsBasedSliGoodTotalRatioThresholdOutputReference | MonitoringSloWindowsBasedSliGoodTotalRatioThreshold): any;
export declare class MonitoringSloWindowsBasedSliGoodTotalRatioThresholdOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): MonitoringSloWindowsBasedSliGoodTotalRatioThreshold | undefined;
set internalValue(value: MonitoringSloWindowsBasedSliGoodTotalRatioThreshold | undefined);
private _threshold?;
get threshold(): number;
set threshold(value: number);
resetThreshold(): void;
get thresholdInput(): number | undefined;
private _basicSliPerformance;
get basicSliPerformance(): MonitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceOutputReference;
putBasicSliPerformance(value: MonitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformance): void;
resetBasicSliPerformance(): void;
get basicSliPerformanceInput(): MonitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformance | undefined;
private _performance;
get performance(): MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceOutputReference;
putPerformance(value: MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformance): void;
resetPerformance(): void;
get performanceInput(): MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformance | undefined;
}
export interface MonitoringSloWindowsBasedSliMetricMeanInRangeRange {
/**
* max value for the range (inclusive). If not given,
* will be set to "infinity", defining an open range
* ">= range.min"
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/monitoring_slo#max MonitoringSlo#max}
*/
readonly max?: number;
/**
* Min value for the range (inclusive). If not given,
* will be set to "-infinity", defining an open range
* "< range.max"
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/monitoring_slo#min MonitoringSlo#min}
*/
readonly min?: number;
}
export declare function monitoringSloWindowsBasedSliMetricMeanInRangeRangeToTerraform(struct?: MonitoringSloWindowsBasedSliMetricMeanInRangeRangeOutputReference | MonitoringSloWindowsBasedSliMetricMeanInRangeRange): any;
export declare function monitoringSloWindowsBasedSliMetricMeanInRangeRangeToHclTerraform(struct?: MonitoringSloWindowsBasedSliMetricMeanInRangeRangeOutputReference | MonitoringSloWindowsBasedSliMetricMeanInRangeRange): any;
export declare class MonitoringSloWindowsBasedSliMetricMeanInRangeRangeOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): MonitoringSloWindowsBasedSliMetricMeanInRangeRange | undefined;
set internalValue(value: MonitoringSloWindowsBasedSliMetricMeanInRangeRange | undefined);
private _max?;
get max(): number;
set max(value: number);
resetMax(): void;
get maxInput(): number | undefined;
private _min?;
get min(): number;
set min(value: number);
resetMin(): void;
get minInput(): number | undefined;
}
export interface MonitoringSloWindowsBasedSliMetricMeanInRange {
/**
* A [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)
* specifying the TimeSeries to use for evaluating window
* The provided TimeSeries must have ValueType = INT64 or
* ValueType = DOUBLE and MetricKind = GAUGE. Mean value 'X'
* should satisfy 'range.min <= X <= range.max'
* under good service.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/monitoring_slo#time_series MonitoringSlo#time_series}
*/
readonly timeSeries: string;
/**
* range block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/monitoring_slo#range MonitoringSlo#range}
*/
readonly range: MonitoringSloWindowsBasedSliMetricMeanInRangeRange;
}
export declare function monitoringSloWindowsBasedSliMetricMeanInRangeToTerraform(struct?: Monitor