v1alpha1

package
v0.5.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 8, 2022 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Overview

+groupName=monitoring.google.kubeform.com

Index

Constants

This section is empty.

Variables

View Source
var (
	// TODO: move SchemeBuilder with zz_generated.deepcopy.go to k8s.io/api.
	// localSchemeBuilder and AddToScheme will stay in k8s.io/kubernetes.
	SchemeBuilder runtime.SchemeBuilder

	AddToScheme = localSchemeBuilder.AddToScheme
)
View Source
var SchemeGroupVersion = schema.GroupVersion{Group: monitoring.GroupName, Version: "v1alpha1"}

Functions

func GetDecoder

func GetDecoder() map[string]jsoniter.ValDecoder

func GetEncoder

func GetEncoder() map[string]jsoniter.ValEncoder

func Kind

func Kind(kind string) schema.GroupKind

Kind takes an unqualified kind and returns a Group qualified GroupKind

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

Types

type AlertPolicy

type AlertPolicy struct {
	metav1.TypeMeta   `json:",inline,omitempty"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              AlertPolicySpec   `json:"spec,omitempty"`
	Status            AlertPolicyStatus `json:"status,omitempty"`
}

func (*AlertPolicy) DeepCopy

func (in *AlertPolicy) DeepCopy() *AlertPolicy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AlertPolicy.

func (*AlertPolicy) DeepCopyInto

func (in *AlertPolicy) DeepCopyInto(out *AlertPolicy)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*AlertPolicy) DeepCopyObject

func (in *AlertPolicy) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*AlertPolicy) SetupWebhookWithManager

func (r *AlertPolicy) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*AlertPolicy) ValidateCreate

func (r *AlertPolicy) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*AlertPolicy) ValidateDelete

func (r *AlertPolicy) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*AlertPolicy) ValidateUpdate

func (r *AlertPolicy) ValidateUpdate(old runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type AlertPolicyList

type AlertPolicyList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	// Items is a list of AlertPolicy CRD objects
	Items []AlertPolicy `json:"items,omitempty"`
}

AlertPolicyList is a list of AlertPolicys

func (*AlertPolicyList) DeepCopy

func (in *AlertPolicyList) DeepCopy() *AlertPolicyList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AlertPolicyList.

func (*AlertPolicyList) DeepCopyInto

func (in *AlertPolicyList) DeepCopyInto(out *AlertPolicyList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*AlertPolicyList) DeepCopyObject

func (in *AlertPolicyList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type AlertPolicySpec

type AlertPolicySpec struct {
	State *AlertPolicySpecResource `json:"state,omitempty" tf:"-"`

	Resource AlertPolicySpecResource `json:"resource" tf:"resource"`

	UpdatePolicy base.UpdatePolicy `json:"updatePolicy,omitempty" tf:"-"`

	TerminationPolicy base.TerminationPolicy `json:"terminationPolicy,omitempty" tf:"-"`

	ProviderRef core.LocalObjectReference `json:"providerRef" tf:"-"`

	BackendRef *core.LocalObjectReference `json:"backendRef,omitempty" tf:"-"`
}

func (*AlertPolicySpec) DeepCopy

func (in *AlertPolicySpec) DeepCopy() *AlertPolicySpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AlertPolicySpec.

func (*AlertPolicySpec) DeepCopyInto

func (in *AlertPolicySpec) DeepCopyInto(out *AlertPolicySpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AlertPolicySpecAlertStrategy added in v0.5.0

type AlertPolicySpecAlertStrategy struct {
	// If an alert policy that was active has no data for this long, any open incidents will close.
	// +optional
	AutoClose *string `json:"autoClose,omitempty" tf:"auto_close"`
	// Required for alert policies with a LogMatch condition.
	// This limit is not implemented for alert policies that are not log-based.
	// +optional
	NotificationRateLimit *AlertPolicySpecAlertStrategyNotificationRateLimit `json:"notificationRateLimit,omitempty" tf:"notification_rate_limit"`
}

func (*AlertPolicySpecAlertStrategy) DeepCopy added in v0.5.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AlertPolicySpecAlertStrategy.

func (*AlertPolicySpecAlertStrategy) DeepCopyInto added in v0.5.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AlertPolicySpecAlertStrategyCodec added in v0.5.0

type AlertPolicySpecAlertStrategyCodec struct {
}

+k8s:deepcopy-gen=false

func (AlertPolicySpecAlertStrategyCodec) Decode added in v0.5.0

func (AlertPolicySpecAlertStrategyCodec) Encode added in v0.5.0

func (AlertPolicySpecAlertStrategyCodec) IsEmpty added in v0.5.0

type AlertPolicySpecAlertStrategyNotificationRateLimit added in v0.5.0

type AlertPolicySpecAlertStrategyNotificationRateLimit struct {
	// Not more than one notification per period.
	// +optional
	Period *string `json:"period,omitempty" tf:"period"`
}

func (*AlertPolicySpecAlertStrategyNotificationRateLimit) DeepCopy added in v0.5.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AlertPolicySpecAlertStrategyNotificationRateLimit.

func (*AlertPolicySpecAlertStrategyNotificationRateLimit) DeepCopyInto added in v0.5.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AlertPolicySpecAlertStrategyNotificationRateLimitCodec added in v0.5.0

type AlertPolicySpecAlertStrategyNotificationRateLimitCodec struct {
}

+k8s:deepcopy-gen=false

func (AlertPolicySpecAlertStrategyNotificationRateLimitCodec) Decode added in v0.5.0

func (AlertPolicySpecAlertStrategyNotificationRateLimitCodec) Encode added in v0.5.0

func (AlertPolicySpecAlertStrategyNotificationRateLimitCodec) IsEmpty added in v0.5.0

type AlertPolicySpecConditions

type AlertPolicySpecConditions struct {
	// A condition that checks that a time series
	// continues to receive new data points.
	// +optional
	ConditionAbsent *AlertPolicySpecConditionsConditionAbsent `json:"conditionAbsent,omitempty" tf:"condition_absent"`
	// A condition that checks for log messages matching given constraints.
	// If set, no other conditions can be present.
	// +optional
	ConditionMatchedLog *AlertPolicySpecConditionsConditionMatchedLog `json:"conditionMatchedLog,omitempty" tf:"condition_matched_log"`
	// A Monitoring Query Language query that outputs a boolean stream
	// +optional
	ConditionMonitoringQueryLanguage *AlertPolicySpecConditionsConditionMonitoringQueryLanguage `json:"conditionMonitoringQueryLanguage,omitempty" tf:"condition_monitoring_query_language"`
	// A condition that compares a time series against a
	// threshold.
	// +optional
	ConditionThreshold *AlertPolicySpecConditionsConditionThreshold `json:"conditionThreshold,omitempty" tf:"condition_threshold"`
	// A short name or phrase used to identify the
	// condition in dashboards, notifications, and
	// incidents. To avoid confusion, don't use the same
	// display name for multiple conditions in the same
	// policy.
	DisplayName *string `json:"displayName" tf:"display_name"`
	// The unique resource name for this condition.
	// Its syntax is:
	// projects/[PROJECT_ID]/alertPolicies/[POLICY_ID]/conditions/[CONDITION_ID]
	// [CONDITION_ID] is assigned by Stackdriver Monitoring when
	// the condition is created as part of a new or updated alerting
	// policy.
	// +optional
	Name *string `json:"name,omitempty" tf:"name"`
}

func (*AlertPolicySpecConditions) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AlertPolicySpecConditions.

func (*AlertPolicySpecConditions) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AlertPolicySpecConditionsConditionAbsent

type AlertPolicySpecConditionsConditionAbsent struct {
	// Specifies the alignment of data points in
	// individual time series as well as how to
	// combine the retrieved time series together
	// (such as when aggregating multiple streams
	// on each resource to a single stream for each
	// resource or when aggregating streams across
	// all members of a group of resources).
	// Multiple aggregations are applied in the
	// order specified.
	// +optional
	Aggregations []AlertPolicySpecConditionsConditionAbsentAggregations `json:"aggregations,omitempty" tf:"aggregations"`
	// The amount of time that a time series must
	// fail to report new data to be considered
	// failing. Currently, only values that are a
	// multiple of a minute--e.g. 60s, 120s, or 300s
	// --are supported.
	Duration *string `json:"duration" tf:"duration"`
	// A filter that identifies which time series
	// should be compared with the threshold.The
	// filter is similar to the one that is
	// specified in the
	// MetricService.ListTimeSeries request (that
	// call is useful to verify the time series
	// that will be retrieved / processed) and must
	// specify the metric type and optionally may
	// contain restrictions on resource type,
	// resource labels, and metric labels. This
	// field may not exceed 2048 Unicode characters
	// in length.
	// +optional
	Filter *string `json:"filter,omitempty" tf:"filter"`
	// The number/percent of time series for which
	// the comparison must hold in order for the
	// condition to trigger. If unspecified, then
	// the condition will trigger if the comparison
	// is true for any of the time series that have
	// been identified by filter and aggregations.
	// +optional
	Trigger *AlertPolicySpecConditionsConditionAbsentTrigger `json:"trigger,omitempty" tf:"trigger"`
}

func (*AlertPolicySpecConditionsConditionAbsent) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AlertPolicySpecConditionsConditionAbsent.

func (*AlertPolicySpecConditionsConditionAbsent) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AlertPolicySpecConditionsConditionAbsentAggregations

type AlertPolicySpecConditionsConditionAbsentAggregations struct {
	// The alignment period for per-time
	// series alignment. If present,
	// alignmentPeriod must be at least
	// 60 seconds. After per-time series
	// alignment, each time series will
	// contain data points only on the
	// period boundaries. If
	// perSeriesAligner is not specified
	// or equals ALIGN_NONE, then this
	// field is ignored. If
	// perSeriesAligner is specified and
	// does not equal ALIGN_NONE, then
	// this field must be defined;
	// otherwise an error is returned.
	// +optional
	AlignmentPeriod *string `json:"alignmentPeriod,omitempty" tf:"alignment_period"`
	// The approach to be used to combine
	// time series. Not all reducer
	// functions may be applied to all
	// time series, depending on the
	// metric type and the value type of
	// the original time series.
	// Reduction may change the metric
	// type of value type of the time
	// series.Time series data must be
	// aligned in order to perform cross-
	// time series reduction. If
	// crossSeriesReducer is specified,
	// then perSeriesAligner must be
	// specified and not equal ALIGN_NONE
	// and alignmentPeriod must be
	// specified; otherwise, an error is
	// returned. Possible values: ["REDUCE_NONE", "REDUCE_MEAN", "REDUCE_MIN", "REDUCE_MAX", "REDUCE_SUM", "REDUCE_STDDEV", "REDUCE_COUNT", "REDUCE_COUNT_TRUE", "REDUCE_COUNT_FALSE", "REDUCE_FRACTION_TRUE", "REDUCE_PERCENTILE_99", "REDUCE_PERCENTILE_95", "REDUCE_PERCENTILE_50", "REDUCE_PERCENTILE_05"]
	// +optional
	CrossSeriesReducer *string `json:"crossSeriesReducer,omitempty" tf:"cross_series_reducer"`
	// The set of fields to preserve when
	// crossSeriesReducer is specified.
	// The groupByFields determine how
	// the time series are partitioned
	// into subsets prior to applying the
	// aggregation function. Each subset
	// contains time series that have the
	// same value for each of the
	// grouping fields. Each individual
	// time series is a member of exactly
	// one subset. The crossSeriesReducer
	// is applied to each subset of time
	// series. It is not possible to
	// reduce across different resource
	// types, so this field implicitly
	// contains resource.type. Fields not
	// specified in groupByFields are
	// aggregated away. If groupByFields
	// is not specified and all the time
	// series have the same resource
	// type, then the time series are
	// aggregated into a single output
	// time series. If crossSeriesReducer
	// is not defined, this field is
	// ignored.
	// +optional
	GroupByFields []string `json:"groupByFields,omitempty" tf:"group_by_fields"`
	// The approach to be used to align
	// individual time series. Not all
	// alignment functions may be applied
	// to all time series, depending on
	// the metric type and value type of
	// the original time series.
	// Alignment may change the metric
	// type or the value type of the time
	// series.Time series data must be
	// aligned in order to perform cross-
	// time series reduction. If
	// crossSeriesReducer is specified,
	// then perSeriesAligner must be
	// specified and not equal ALIGN_NONE
	// and alignmentPeriod must be
	// specified; otherwise, an error is
	// returned. Possible values: ["ALIGN_NONE", "ALIGN_DELTA", "ALIGN_RATE", "ALIGN_INTERPOLATE", "ALIGN_NEXT_OLDER", "ALIGN_MIN", "ALIGN_MAX", "ALIGN_MEAN", "ALIGN_COUNT", "ALIGN_SUM", "ALIGN_STDDEV", "ALIGN_COUNT_TRUE", "ALIGN_COUNT_FALSE", "ALIGN_FRACTION_TRUE", "ALIGN_PERCENTILE_99", "ALIGN_PERCENTILE_95", "ALIGN_PERCENTILE_50", "ALIGN_PERCENTILE_05", "ALIGN_PERCENT_CHANGE"]
	// +optional
	PerSeriesAligner *string `json:"perSeriesAligner,omitempty" tf:"per_series_aligner"`
}

func (*AlertPolicySpecConditionsConditionAbsentAggregations) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AlertPolicySpecConditionsConditionAbsentAggregations.

func (*AlertPolicySpecConditionsConditionAbsentAggregations) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AlertPolicySpecConditionsConditionAbsentCodec

type AlertPolicySpecConditionsConditionAbsentCodec struct {
}

+k8s:deepcopy-gen=false

func (AlertPolicySpecConditionsConditionAbsentCodec) Decode

func (AlertPolicySpecConditionsConditionAbsentCodec) Encode

func (AlertPolicySpecConditionsConditionAbsentCodec) IsEmpty

type AlertPolicySpecConditionsConditionAbsentTrigger

type AlertPolicySpecConditionsConditionAbsentTrigger struct {
	// The absolute number of time series
	// that must fail the predicate for the
	// condition to be triggered.
	// +optional
	Count *int64 `json:"count,omitempty" tf:"count"`
	// The percentage of time series that
	// must fail the predicate for the
	// condition to be triggered.
	// +optional
	Percent *float64 `json:"percent,omitempty" tf:"percent"`
}

func (*AlertPolicySpecConditionsConditionAbsentTrigger) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AlertPolicySpecConditionsConditionAbsentTrigger.

func (*AlertPolicySpecConditionsConditionAbsentTrigger) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AlertPolicySpecConditionsConditionAbsentTriggerCodec

type AlertPolicySpecConditionsConditionAbsentTriggerCodec struct {
}

+k8s:deepcopy-gen=false

func (AlertPolicySpecConditionsConditionAbsentTriggerCodec) Decode

func (AlertPolicySpecConditionsConditionAbsentTriggerCodec) Encode

func (AlertPolicySpecConditionsConditionAbsentTriggerCodec) IsEmpty

type AlertPolicySpecConditionsConditionMatchedLog added in v0.5.0

type AlertPolicySpecConditionsConditionMatchedLog struct {
	// A logs-based filter.
	Filter *string `json:"filter" tf:"filter"`
	// A map from a label key to an extractor expression, which is used to
	// extract the value for this label key. Each entry in this map is
	// a specification for how data should be extracted from log entries that
	// match filter. Each combination of extracted values is treated as
	// a separate rule for the purposes of triggering notifications.
	// Label keys and corresponding values can be used in notifications
	// generated by this condition.
	// +optional
	LabelExtractors *map[string]string `json:"labelExtractors,omitempty" tf:"label_extractors"`
}

func (*AlertPolicySpecConditionsConditionMatchedLog) DeepCopy added in v0.5.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AlertPolicySpecConditionsConditionMatchedLog.

func (*AlertPolicySpecConditionsConditionMatchedLog) DeepCopyInto added in v0.5.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AlertPolicySpecConditionsConditionMatchedLogCodec added in v0.5.0

type AlertPolicySpecConditionsConditionMatchedLogCodec struct {
}

+k8s:deepcopy-gen=false

func (AlertPolicySpecConditionsConditionMatchedLogCodec) Decode added in v0.5.0

func (AlertPolicySpecConditionsConditionMatchedLogCodec) Encode added in v0.5.0

func (AlertPolicySpecConditionsConditionMatchedLogCodec) IsEmpty added in v0.5.0

type AlertPolicySpecConditionsConditionMonitoringQueryLanguage

type AlertPolicySpecConditionsConditionMonitoringQueryLanguage struct {
	// The amount of time that a time series must
	// violate the threshold to be considered
	// failing. Currently, only values that are a
	// multiple of a minute--e.g., 0, 60, 120, or
	// 300 seconds--are supported. If an invalid
	// value is given, an error will be returned.
	// When choosing a duration, it is useful to
	// keep in mind the frequency of the underlying
	// time series data (which may also be affected
	// by any alignments specified in the
	// aggregations field); a good duration is long
	// enough so that a single outlier does not
	// generate spurious alerts, but short enough
	// that unhealthy states are detected and
	// alerted on quickly.
	Duration *string `json:"duration" tf:"duration"`
	// Monitoring Query Language query that outputs a boolean stream.
	Query *string `json:"query" tf:"query"`
	// The number/percent of time series for which
	// the comparison must hold in order for the
	// condition to trigger. If unspecified, then
	// the condition will trigger if the comparison
	// is true for any of the time series that have
	// been identified by filter and aggregations,
	// or by the ratio, if denominator_filter and
	// denominator_aggregations are specified.
	// +optional
	Trigger *AlertPolicySpecConditionsConditionMonitoringQueryLanguageTrigger `json:"trigger,omitempty" tf:"trigger"`
}

func (*AlertPolicySpecConditionsConditionMonitoringQueryLanguage) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AlertPolicySpecConditionsConditionMonitoringQueryLanguage.

func (*AlertPolicySpecConditionsConditionMonitoringQueryLanguage) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AlertPolicySpecConditionsConditionMonitoringQueryLanguageCodec

type AlertPolicySpecConditionsConditionMonitoringQueryLanguageCodec struct {
}

+k8s:deepcopy-gen=false

func (AlertPolicySpecConditionsConditionMonitoringQueryLanguageCodec) Decode

func (AlertPolicySpecConditionsConditionMonitoringQueryLanguageCodec) Encode

func (AlertPolicySpecConditionsConditionMonitoringQueryLanguageCodec) IsEmpty

type AlertPolicySpecConditionsConditionMonitoringQueryLanguageTrigger

type AlertPolicySpecConditionsConditionMonitoringQueryLanguageTrigger struct {
	// The absolute number of time series
	// that must fail the predicate for the
	// condition to be triggered.
	// +optional
	Count *int64 `json:"count,omitempty" tf:"count"`
	// The percentage of time series that
	// must fail the predicate for the
	// condition to be triggered.
	// +optional
	Percent *float64 `json:"percent,omitempty" tf:"percent"`
}

func (*AlertPolicySpecConditionsConditionMonitoringQueryLanguageTrigger) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AlertPolicySpecConditionsConditionMonitoringQueryLanguageTrigger.

func (*AlertPolicySpecConditionsConditionMonitoringQueryLanguageTrigger) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AlertPolicySpecConditionsConditionMonitoringQueryLanguageTriggerCodec

type AlertPolicySpecConditionsConditionMonitoringQueryLanguageTriggerCodec struct {
}

+k8s:deepcopy-gen=false

func (AlertPolicySpecConditionsConditionMonitoringQueryLanguageTriggerCodec) Decode

func (AlertPolicySpecConditionsConditionMonitoringQueryLanguageTriggerCodec) Encode

func (AlertPolicySpecConditionsConditionMonitoringQueryLanguageTriggerCodec) IsEmpty

type AlertPolicySpecConditionsConditionThreshold

type AlertPolicySpecConditionsConditionThreshold struct {
	// Specifies the alignment of data points in
	// individual time series as well as how to
	// combine the retrieved time series together
	// (such as when aggregating multiple streams
	// on each resource to a single stream for each
	// resource or when aggregating streams across
	// all members of a group of resources).
	// Multiple aggregations are applied in the
	// order specified.This field is similar to the
	// one in the MetricService.ListTimeSeries
	// request. It is advisable to use the
	// ListTimeSeries method when debugging this
	// field.
	// +optional
	Aggregations []AlertPolicySpecConditionsConditionThresholdAggregations `json:"aggregations,omitempty" tf:"aggregations"`
	// The comparison to apply between the time
	// series (indicated by filter and aggregation)
	// and the threshold (indicated by
	// threshold_value). The comparison is applied
	// on each time series, with the time series on
	// the left-hand side and the threshold on the
	// right-hand side. Only COMPARISON_LT and
	// COMPARISON_GT are supported currently. Possible values: ["COMPARISON_GT", "COMPARISON_GE", "COMPARISON_LT", "COMPARISON_LE", "COMPARISON_EQ", "COMPARISON_NE"]
	Comparison *string `json:"comparison" tf:"comparison"`
	// Specifies the alignment of data points in
	// individual time series selected by
	// denominatorFilter as well as how to combine
	// the retrieved time series together (such as
	// when aggregating multiple streams on each
	// resource to a single stream for each
	// resource or when aggregating streams across
	// all members of a group of resources).When
	// computing ratios, the aggregations and
	// denominator_aggregations fields must use the
	// same alignment period and produce time
	// series that have the same periodicity and
	// labels.This field is similar to the one in
	// the MetricService.ListTimeSeries request. It
	// is advisable to use the ListTimeSeries
	// method when debugging this field.
	// +optional
	DenominatorAggregations []AlertPolicySpecConditionsConditionThresholdDenominatorAggregations `json:"denominatorAggregations,omitempty" tf:"denominator_aggregations"`
	// A filter that identifies a time series that
	// should be used as the denominator of a ratio
	// that will be compared with the threshold. If
	// a denominator_filter is specified, the time
	// series specified by the filter field will be
	// used as the numerator.The filter is similar
	// to the one that is specified in the
	// MetricService.ListTimeSeries request (that
	// call is useful to verify the time series
	// that will be retrieved / processed) and must
	// specify the metric type and optionally may
	// contain restrictions on resource type,
	// resource labels, and metric labels. This
	// field may not exceed 2048 Unicode characters
	// in length.
	// +optional
	DenominatorFilter *string `json:"denominatorFilter,omitempty" tf:"denominator_filter"`
	// The amount of time that a time series must
	// violate the threshold to be considered
	// failing. Currently, only values that are a
	// multiple of a minute--e.g., 0, 60, 120, or
	// 300 seconds--are supported. If an invalid
	// value is given, an error will be returned.
	// When choosing a duration, it is useful to
	// keep in mind the frequency of the underlying
	// time series data (which may also be affected
	// by any alignments specified in the
	// aggregations field); a good duration is long
	// enough so that a single outlier does not
	// generate spurious alerts, but short enough
	// that unhealthy states are detected and
	// alerted on quickly.
	Duration *string `json:"duration" tf:"duration"`
	// A filter that identifies which time series
	// should be compared with the threshold.The
	// filter is similar to the one that is
	// specified in the
	// MetricService.ListTimeSeries request (that
	// call is useful to verify the time series
	// that will be retrieved / processed) and must
	// specify the metric type and optionally may
	// contain restrictions on resource type,
	// resource labels, and metric labels. This
	// field may not exceed 2048 Unicode characters
	// in length.
	// +optional
	Filter *string `json:"filter,omitempty" tf:"filter"`
	// A value against which to compare the time
	// series.
	// +optional
	ThresholdValue *float64 `json:"thresholdValue,omitempty" tf:"threshold_value"`
	// The number/percent of time series for which
	// the comparison must hold in order for the
	// condition to trigger. If unspecified, then
	// the condition will trigger if the comparison
	// is true for any of the time series that have
	// been identified by filter and aggregations,
	// or by the ratio, if denominator_filter and
	// denominator_aggregations are specified.
	// +optional
	Trigger *AlertPolicySpecConditionsConditionThresholdTrigger `json:"trigger,omitempty" tf:"trigger"`
}

func (*AlertPolicySpecConditionsConditionThreshold) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AlertPolicySpecConditionsConditionThreshold.

func (*AlertPolicySpecConditionsConditionThreshold) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AlertPolicySpecConditionsConditionThresholdAggregations

type AlertPolicySpecConditionsConditionThresholdAggregations struct {
	// The alignment period for per-time
	// series alignment. If present,
	// alignmentPeriod must be at least
	// 60 seconds. After per-time series
	// alignment, each time series will
	// contain data points only on the
	// period boundaries. If
	// perSeriesAligner is not specified
	// or equals ALIGN_NONE, then this
	// field is ignored. If
	// perSeriesAligner is specified and
	// does not equal ALIGN_NONE, then
	// this field must be defined;
	// otherwise an error is returned.
	// +optional
	AlignmentPeriod *string `json:"alignmentPeriod,omitempty" tf:"alignment_period"`
	// The approach to be used to combine
	// time series. Not all reducer
	// functions may be applied to all
	// time series, depending on the
	// metric type and the value type of
	// the original time series.
	// Reduction may change the metric
	// type of value type of the time
	// series.Time series data must be
	// aligned in order to perform cross-
	// time series reduction. If
	// crossSeriesReducer is specified,
	// then perSeriesAligner must be
	// specified and not equal ALIGN_NONE
	// and alignmentPeriod must be
	// specified; otherwise, an error is
	// returned. Possible values: ["REDUCE_NONE", "REDUCE_MEAN", "REDUCE_MIN", "REDUCE_MAX", "REDUCE_SUM", "REDUCE_STDDEV", "REDUCE_COUNT", "REDUCE_COUNT_TRUE", "REDUCE_COUNT_FALSE", "REDUCE_FRACTION_TRUE", "REDUCE_PERCENTILE_99", "REDUCE_PERCENTILE_95", "REDUCE_PERCENTILE_50", "REDUCE_PERCENTILE_05"]
	// +optional
	CrossSeriesReducer *string `json:"crossSeriesReducer,omitempty" tf:"cross_series_reducer"`
	// The set of fields to preserve when
	// crossSeriesReducer is specified.
	// The groupByFields determine how
	// the time series are partitioned
	// into subsets prior to applying the
	// aggregation function. Each subset
	// contains time series that have the
	// same value for each of the
	// grouping fields. Each individual
	// time series is a member of exactly
	// one subset. The crossSeriesReducer
	// is applied to each subset of time
	// series. It is not possible to
	// reduce across different resource
	// types, so this field implicitly
	// contains resource.type. Fields not
	// specified in groupByFields are
	// aggregated away. If groupByFields
	// is not specified and all the time
	// series have the same resource
	// type, then the time series are
	// aggregated into a single output
	// time series. If crossSeriesReducer
	// is not defined, this field is
	// ignored.
	// +optional
	GroupByFields []string `json:"groupByFields,omitempty" tf:"group_by_fields"`
	// The approach to be used to align
	// individual time series. Not all
	// alignment functions may be applied
	// to all time series, depending on
	// the metric type and value type of
	// the original time series.
	// Alignment may change the metric
	// type or the value type of the time
	// series.Time series data must be
	// aligned in order to perform cross-
	// time series reduction. If
	// crossSeriesReducer is specified,
	// then perSeriesAligner must be
	// specified and not equal ALIGN_NONE
	// and alignmentPeriod must be
	// specified; otherwise, an error is
	// returned. Possible values: ["ALIGN_NONE", "ALIGN_DELTA", "ALIGN_RATE", "ALIGN_INTERPOLATE", "ALIGN_NEXT_OLDER", "ALIGN_MIN", "ALIGN_MAX", "ALIGN_MEAN", "ALIGN_COUNT", "ALIGN_SUM", "ALIGN_STDDEV", "ALIGN_COUNT_TRUE", "ALIGN_COUNT_FALSE", "ALIGN_FRACTION_TRUE", "ALIGN_PERCENTILE_99", "ALIGN_PERCENTILE_95", "ALIGN_PERCENTILE_50", "ALIGN_PERCENTILE_05", "ALIGN_PERCENT_CHANGE"]
	// +optional
	PerSeriesAligner *string `json:"perSeriesAligner,omitempty" tf:"per_series_aligner"`
}

func (*AlertPolicySpecConditionsConditionThresholdAggregations) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AlertPolicySpecConditionsConditionThresholdAggregations.

func (*AlertPolicySpecConditionsConditionThresholdAggregations) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AlertPolicySpecConditionsConditionThresholdCodec

type AlertPolicySpecConditionsConditionThresholdCodec struct {
}

+k8s:deepcopy-gen=false

func (AlertPolicySpecConditionsConditionThresholdCodec) Decode

func (AlertPolicySpecConditionsConditionThresholdCodec) Encode

func (AlertPolicySpecConditionsConditionThresholdCodec) IsEmpty

type AlertPolicySpecConditionsConditionThresholdDenominatorAggregations

type AlertPolicySpecConditionsConditionThresholdDenominatorAggregations struct {
	// The alignment period for per-time
	// series alignment. If present,
	// alignmentPeriod must be at least
	// 60 seconds. After per-time series
	// alignment, each time series will
	// contain data points only on the
	// period boundaries. If
	// perSeriesAligner is not specified
	// or equals ALIGN_NONE, then this
	// field is ignored. If
	// perSeriesAligner is specified and
	// does not equal ALIGN_NONE, then
	// this field must be defined;
	// otherwise an error is returned.
	// +optional
	AlignmentPeriod *string `json:"alignmentPeriod,omitempty" tf:"alignment_period"`
	// The approach to be used to combine
	// time series. Not all reducer
	// functions may be applied to all
	// time series, depending on the
	// metric type and the value type of
	// the original time series.
	// Reduction may change the metric
	// type of value type of the time
	// series.Time series data must be
	// aligned in order to perform cross-
	// time series reduction. If
	// crossSeriesReducer is specified,
	// then perSeriesAligner must be
	// specified and not equal ALIGN_NONE
	// and alignmentPeriod must be
	// specified; otherwise, an error is
	// returned. Possible values: ["REDUCE_NONE", "REDUCE_MEAN", "REDUCE_MIN", "REDUCE_MAX", "REDUCE_SUM", "REDUCE_STDDEV", "REDUCE_COUNT", "REDUCE_COUNT_TRUE", "REDUCE_COUNT_FALSE", "REDUCE_FRACTION_TRUE", "REDUCE_PERCENTILE_99", "REDUCE_PERCENTILE_95", "REDUCE_PERCENTILE_50", "REDUCE_PERCENTILE_05"]
	// +optional
	CrossSeriesReducer *string `json:"crossSeriesReducer,omitempty" tf:"cross_series_reducer"`
	// The set of fields to preserve when
	// crossSeriesReducer is specified.
	// The groupByFields determine how
	// the time series are partitioned
	// into subsets prior to applying the
	// aggregation function. Each subset
	// contains time series that have the
	// same value for each of the
	// grouping fields. Each individual
	// time series is a member of exactly
	// one subset. The crossSeriesReducer
	// is applied to each subset of time
	// series. It is not possible to
	// reduce across different resource
	// types, so this field implicitly
	// contains resource.type. Fields not
	// specified in groupByFields are
	// aggregated away. If groupByFields
	// is not specified and all the time
	// series have the same resource
	// type, then the time series are
	// aggregated into a single output
	// time series. If crossSeriesReducer
	// is not defined, this field is
	// ignored.
	// +optional
	GroupByFields []string `json:"groupByFields,omitempty" tf:"group_by_fields"`
	// The approach to be used to align
	// individual time series. Not all
	// alignment functions may be applied
	// to all time series, depending on
	// the metric type and value type of
	// the original time series.
	// Alignment may change the metric
	// type or the value type of the time
	// series.Time series data must be
	// aligned in order to perform cross-
	// time series reduction. If
	// crossSeriesReducer is specified,
	// then perSeriesAligner must be
	// specified and not equal ALIGN_NONE
	// and alignmentPeriod must be
	// specified; otherwise, an error is
	// returned. Possible values: ["ALIGN_NONE", "ALIGN_DELTA", "ALIGN_RATE", "ALIGN_INTERPOLATE", "ALIGN_NEXT_OLDER", "ALIGN_MIN", "ALIGN_MAX", "ALIGN_MEAN", "ALIGN_COUNT", "ALIGN_SUM", "ALIGN_STDDEV", "ALIGN_COUNT_TRUE", "ALIGN_COUNT_FALSE", "ALIGN_FRACTION_TRUE", "ALIGN_PERCENTILE_99", "ALIGN_PERCENTILE_95", "ALIGN_PERCENTILE_50", "ALIGN_PERCENTILE_05", "ALIGN_PERCENT_CHANGE"]
	// +optional
	PerSeriesAligner *string `json:"perSeriesAligner,omitempty" tf:"per_series_aligner"`
}

func (*AlertPolicySpecConditionsConditionThresholdDenominatorAggregations) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AlertPolicySpecConditionsConditionThresholdDenominatorAggregations.

func (*AlertPolicySpecConditionsConditionThresholdDenominatorAggregations) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AlertPolicySpecConditionsConditionThresholdTrigger

type AlertPolicySpecConditionsConditionThresholdTrigger struct {
	// The absolute number of time series
	// that must fail the predicate for the
	// condition to be triggered.
	// +optional
	Count *int64 `json:"count,omitempty" tf:"count"`
	// The percentage of time series that
	// must fail the predicate for the
	// condition to be triggered.
	// +optional
	Percent *float64 `json:"percent,omitempty" tf:"percent"`
}

func (*AlertPolicySpecConditionsConditionThresholdTrigger) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AlertPolicySpecConditionsConditionThresholdTrigger.

func (*AlertPolicySpecConditionsConditionThresholdTrigger) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AlertPolicySpecConditionsConditionThresholdTriggerCodec

type AlertPolicySpecConditionsConditionThresholdTriggerCodec struct {
}

+k8s:deepcopy-gen=false

func (AlertPolicySpecConditionsConditionThresholdTriggerCodec) Decode

func (AlertPolicySpecConditionsConditionThresholdTriggerCodec) Encode

func (AlertPolicySpecConditionsConditionThresholdTriggerCodec) IsEmpty

type AlertPolicySpecCreationRecord

type AlertPolicySpecCreationRecord struct {
	// When the change occurred.
	// +optional
	MutateTime *string `json:"mutateTime,omitempty" tf:"mutate_time"`
	// The email address of the user making the change.
	// +optional
	MutatedBy *string `json:"mutatedBy,omitempty" tf:"mutated_by"`
}

func (*AlertPolicySpecCreationRecord) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AlertPolicySpecCreationRecord.

func (*AlertPolicySpecCreationRecord) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AlertPolicySpecDocumentation

type AlertPolicySpecDocumentation struct {
	// The text of the documentation, interpreted according to mimeType.
	// The content may not exceed 8,192 Unicode characters and may not
	// exceed more than 10,240 bytes when encoded in UTF-8 format,
	// whichever is smaller.
	// +optional
	Content *string `json:"content,omitempty" tf:"content"`
	// The format of the content field. Presently, only the value
	// "text/markdown" is supported.
	// +optional
	MimeType *string `json:"mimeType,omitempty" tf:"mime_type"`
}

func (*AlertPolicySpecDocumentation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AlertPolicySpecDocumentation.

func (*AlertPolicySpecDocumentation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AlertPolicySpecDocumentationCodec

type AlertPolicySpecDocumentationCodec struct {
}

+k8s:deepcopy-gen=false

func (AlertPolicySpecDocumentationCodec) Decode

func (AlertPolicySpecDocumentationCodec) Encode

func (AlertPolicySpecDocumentationCodec) IsEmpty

type AlertPolicySpecResource

type AlertPolicySpecResource struct {
	Timeouts *base.ResourceTimeout `json:"timeouts,omitempty" tf:"timeouts"`

	ID string `json:"id,omitempty" tf:"id,omitempty"`

	// Control over how this alert policy's notification channels are notified.
	// +optional
	AlertStrategy *AlertPolicySpecAlertStrategy `json:"alertStrategy,omitempty" tf:"alert_strategy"`
	// How to combine the results of multiple conditions to
	// determine if an incident should be opened. Possible values: ["AND", "OR", "AND_WITH_MATCHING_RESOURCE"]
	Combiner *string `json:"combiner" tf:"combiner"`
	// A list of conditions for the policy. The conditions are combined by
	// AND or OR according to the combiner field. If the combined conditions
	// evaluate to true, then an incident is created. A policy can have from
	// one to six conditions.
	Conditions []AlertPolicySpecConditions `json:"conditions" tf:"conditions"`
	// A read-only record of the creation of the alerting policy.
	// If provided in a call to create or update, this field will
	// be ignored.
	// +optional
	CreationRecord []AlertPolicySpecCreationRecord `json:"creationRecord,omitempty" tf:"creation_record"`
	// A short name or phrase used to identify the policy in
	// dashboards, notifications, and incidents. To avoid confusion, don't use
	// the same display name for multiple policies in the same project. The
	// name is limited to 512 Unicode characters.
	DisplayName *string `json:"displayName" tf:"display_name"`
	// Documentation that is included with notifications and incidents related
	// to this policy. Best practice is for the documentation to include information
	// to help responders understand, mitigate, escalate, and correct the underlying
	// problems detected by the alerting policy. Notification channels that have
	// limited capacity might not show this documentation.
	// +optional
	Documentation *AlertPolicySpecDocumentation `json:"documentation,omitempty" tf:"documentation"`
	// Whether or not the policy is enabled. The default is true.
	// +optional
	Enabled *bool `json:"enabled,omitempty" tf:"enabled"`
	// The unique resource name for this policy.
	// Its syntax is: projects/[PROJECT_ID]/alertPolicies/[ALERT_POLICY_ID]
	// +optional
	Name *string `json:"name,omitempty" tf:"name"`
	// Identifies the notification channels to which notifications should be
	// sent when incidents are opened or closed or when new violations occur
	// on an already opened incident. Each element of this array corresponds
	// to the name field in each of the NotificationChannel objects that are
	// returned from the notificationChannels.list method. The syntax of the
	// entries in this field is
	// 'projects/[PROJECT_ID]/notificationChannels/[CHANNEL_ID]'
	// +optional
	NotificationChannels []string `json:"notificationChannels,omitempty" tf:"notification_channels"`
	// +optional
	Project *string `json:"project,omitempty" tf:"project"`
	// 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.
	// +optional
	UserLabels *map[string]string `json:"userLabels,omitempty" tf:"user_labels"`
}

func (*AlertPolicySpecResource) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AlertPolicySpecResource.

func (*AlertPolicySpecResource) DeepCopyInto

func (in *AlertPolicySpecResource) DeepCopyInto(out *AlertPolicySpecResource)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AlertPolicyStatus

type AlertPolicyStatus struct {
	// Resource generation, which is updated on mutation by the API Server.
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`
	// +optional
	Phase status.Status `json:"phase,omitempty"`
	// +optional
	Conditions []kmapi.Condition `json:"conditions,omitempty"`
}

func (*AlertPolicyStatus) DeepCopy

func (in *AlertPolicyStatus) DeepCopy() *AlertPolicyStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AlertPolicyStatus.

func (*AlertPolicyStatus) DeepCopyInto

func (in *AlertPolicyStatus) DeepCopyInto(out *AlertPolicyStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CustomService

type CustomService struct {
	metav1.TypeMeta   `json:",inline,omitempty"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              CustomServiceSpec   `json:"spec,omitempty"`
	Status            CustomServiceStatus `json:"status,omitempty"`
}

func (*CustomService) DeepCopy

func (in *CustomService) DeepCopy() *CustomService

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomService.

func (*CustomService) DeepCopyInto

func (in *CustomService) DeepCopyInto(out *CustomService)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*CustomService) DeepCopyObject

func (in *CustomService) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*CustomService) SetupWebhookWithManager

func (r *CustomService) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*CustomService) ValidateCreate

func (r *CustomService) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*CustomService) ValidateDelete

func (r *CustomService) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*CustomService) ValidateUpdate

func (r *CustomService) ValidateUpdate(old runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type CustomServiceList

type CustomServiceList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	// Items is a list of CustomService CRD objects
	Items []CustomService `json:"items,omitempty"`
}

CustomServiceList is a list of CustomServices

func (*CustomServiceList) DeepCopy

func (in *CustomServiceList) DeepCopy() *CustomServiceList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomServiceList.

func (*CustomServiceList) DeepCopyInto

func (in *CustomServiceList) DeepCopyInto(out *CustomServiceList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*CustomServiceList) DeepCopyObject

func (in *CustomServiceList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type CustomServiceSpec

type CustomServiceSpec struct {
	State *CustomServiceSpecResource `json:"state,omitempty" tf:"-"`

	Resource CustomServiceSpecResource `json:"resource" tf:"resource"`

	UpdatePolicy base.UpdatePolicy `json:"updatePolicy,omitempty" tf:"-"`

	TerminationPolicy base.TerminationPolicy `json:"terminationPolicy,omitempty" tf:"-"`

	ProviderRef core.LocalObjectReference `json:"providerRef" tf:"-"`

	BackendRef *core.LocalObjectReference `json:"backendRef,omitempty" tf:"-"`
}

func (*CustomServiceSpec) DeepCopy

func (in *CustomServiceSpec) DeepCopy() *CustomServiceSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomServiceSpec.

func (*CustomServiceSpec) DeepCopyInto

func (in *CustomServiceSpec) DeepCopyInto(out *CustomServiceSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CustomServiceSpecResource

type CustomServiceSpecResource struct {
	Timeouts *base.ResourceTimeout `json:"timeouts,omitempty" tf:"timeouts"`

	ID string `json:"id,omitempty" tf:"id,omitempty"`

	// Name used for UI elements listing this Service.
	// +optional
	DisplayName *string `json:"displayName,omitempty" tf:"display_name"`
	// The full resource name for this service. The syntax is:
	// projects/[PROJECT_ID]/services/[SERVICE_ID].
	// +optional
	Name *string `json:"name,omitempty" tf:"name"`
	// +optional
	Project *string `json:"project,omitempty" tf:"project"`
	// An optional service ID to use. If not given, the server will generate a
	// service ID.
	// +optional
	ServiceID *string `json:"serviceID,omitempty" tf:"service_id"`
	// Configuration for how to query telemetry on a Service.
	// +optional
	Telemetry *CustomServiceSpecTelemetry `json:"telemetry,omitempty" tf:"telemetry"`
}

func (*CustomServiceSpecResource) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomServiceSpecResource.

func (*CustomServiceSpecResource) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CustomServiceSpecTelemetry

type CustomServiceSpecTelemetry struct {
	// The full name of the resource that defines this service.
	// Formatted as described in
	// https://cloud.google.com/apis/design/resource_names.
	// +optional
	ResourceName *string `json:"resourceName,omitempty" tf:"resource_name"`
}

func (*CustomServiceSpecTelemetry) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomServiceSpecTelemetry.

func (*CustomServiceSpecTelemetry) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CustomServiceSpecTelemetryCodec

type CustomServiceSpecTelemetryCodec struct {
}

+k8s:deepcopy-gen=false

func (CustomServiceSpecTelemetryCodec) Decode

func (CustomServiceSpecTelemetryCodec) Encode

func (CustomServiceSpecTelemetryCodec) IsEmpty

type CustomServiceStatus

type CustomServiceStatus struct {
	// Resource generation, which is updated on mutation by the API Server.
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`
	// +optional
	Phase status.Status `json:"phase,omitempty"`
	// +optional
	Conditions []kmapi.Condition `json:"conditions,omitempty"`
}

func (*CustomServiceStatus) DeepCopy

func (in *CustomServiceStatus) DeepCopy() *CustomServiceStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomServiceStatus.

func (*CustomServiceStatus) DeepCopyInto

func (in *CustomServiceStatus) DeepCopyInto(out *CustomServiceStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Dashboard

type Dashboard struct {
	metav1.TypeMeta   `json:",inline,omitempty"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              DashboardSpec   `json:"spec,omitempty"`
	Status            DashboardStatus `json:"status,omitempty"`
}

func (*Dashboard) DeepCopy

func (in *Dashboard) DeepCopy() *Dashboard

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Dashboard.

func (*Dashboard) DeepCopyInto

func (in *Dashboard) DeepCopyInto(out *Dashboard)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Dashboard) DeepCopyObject

func (in *Dashboard) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Dashboard) SetupWebhookWithManager

func (r *Dashboard) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*Dashboard) ValidateCreate

func (r *Dashboard) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*Dashboard) ValidateDelete

func (r *Dashboard) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*Dashboard) ValidateUpdate

func (r *Dashboard) ValidateUpdate(old runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type DashboardList

type DashboardList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	// Items is a list of Dashboard CRD objects
	Items []Dashboard `json:"items,omitempty"`
}

DashboardList is a list of Dashboards

func (*DashboardList) DeepCopy

func (in *DashboardList) DeepCopy() *DashboardList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DashboardList.

func (*DashboardList) DeepCopyInto

func (in *DashboardList) DeepCopyInto(out *DashboardList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*DashboardList) DeepCopyObject

func (in *DashboardList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type DashboardSpec

type DashboardSpec struct {
	State *DashboardSpecResource `json:"state,omitempty" tf:"-"`

	Resource DashboardSpecResource `json:"resource" tf:"resource"`

	UpdatePolicy base.UpdatePolicy `json:"updatePolicy,omitempty" tf:"-"`

	TerminationPolicy base.TerminationPolicy `json:"terminationPolicy,omitempty" tf:"-"`

	ProviderRef core.LocalObjectReference `json:"providerRef" tf:"-"`

	BackendRef *core.LocalObjectReference `json:"backendRef,omitempty" tf:"-"`
}

func (*DashboardSpec) DeepCopy

func (in *DashboardSpec) DeepCopy() *DashboardSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DashboardSpec.

func (*DashboardSpec) DeepCopyInto

func (in *DashboardSpec) DeepCopyInto(out *DashboardSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DashboardSpecResource

type DashboardSpecResource struct {
	Timeouts *base.ResourceTimeout `json:"timeouts,omitempty" tf:"timeouts"`

	ID string `json:"id,omitempty" tf:"id,omitempty"`

	// The JSON representation of a dashboard, following the format at https://cloud.google.com/monitoring/api/ref_v3/rest/v1/projects.dashboards.
	DashboardJSON *string `json:"dashboardJSON" tf:"dashboard_json"`
	// The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
	// +optional
	Project *string `json:"project,omitempty" tf:"project"`
}

func (*DashboardSpecResource) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DashboardSpecResource.

func (*DashboardSpecResource) DeepCopyInto

func (in *DashboardSpecResource) DeepCopyInto(out *DashboardSpecResource)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DashboardStatus

type DashboardStatus struct {
	// Resource generation, which is updated on mutation by the API Server.
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`
	// +optional
	Phase status.Status `json:"phase,omitempty"`
	// +optional
	Conditions []kmapi.Condition `json:"conditions,omitempty"`
}

func (*DashboardStatus) DeepCopy

func (in *DashboardStatus) DeepCopy() *DashboardStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DashboardStatus.

func (*DashboardStatus) DeepCopyInto

func (in *DashboardStatus) DeepCopyInto(out *DashboardStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Group

type Group struct {
	metav1.TypeMeta   `json:",inline,omitempty"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              GroupSpec   `json:"spec,omitempty"`
	Status            GroupStatus `json:"status,omitempty"`
}

func (*Group) DeepCopy

func (in *Group) DeepCopy() *Group

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Group.

func (*Group) DeepCopyInto

func (in *Group) DeepCopyInto(out *Group)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Group) DeepCopyObject

func (in *Group) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Group) SetupWebhookWithManager

func (r *Group) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*Group) ValidateCreate

func (r *Group) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*Group) ValidateDelete

func (r *Group) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*Group) ValidateUpdate

func (r *Group) ValidateUpdate(old runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type GroupList

type GroupList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	// Items is a list of Group CRD objects
	Items []Group `json:"items,omitempty"`
}

GroupList is a list of Groups

func (*GroupList) DeepCopy

func (in *GroupList) DeepCopy() *GroupList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GroupList.

func (*GroupList) DeepCopyInto

func (in *GroupList) DeepCopyInto(out *GroupList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*GroupList) DeepCopyObject

func (in *GroupList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type GroupSpec

type GroupSpec struct {
	State *GroupSpecResource `json:"state,omitempty" tf:"-"`

	Resource GroupSpecResource `json:"resource" tf:"resource"`

	UpdatePolicy base.UpdatePolicy `json:"updatePolicy,omitempty" tf:"-"`

	TerminationPolicy base.TerminationPolicy `json:"terminationPolicy,omitempty" tf:"-"`

	ProviderRef core.LocalObjectReference `json:"providerRef" tf:"-"`

	BackendRef *core.LocalObjectReference `json:"backendRef,omitempty" tf:"-"`
}

func (*GroupSpec) DeepCopy

func (in *GroupSpec) DeepCopy() *GroupSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GroupSpec.

func (*GroupSpec) DeepCopyInto

func (in *GroupSpec) DeepCopyInto(out *GroupSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GroupSpecResource

type GroupSpecResource struct {
	Timeouts *base.ResourceTimeout `json:"timeouts,omitempty" tf:"timeouts"`

	ID string `json:"id,omitempty" tf:"id,omitempty"`

	// A user-assigned name for this group, used only for display
	// purposes.
	DisplayName *string `json:"displayName" tf:"display_name"`
	// The filter used to determine which monitored resources
	// belong to this group.
	Filter *string `json:"filter" tf:"filter"`
	// If true, the members of this group are considered to be a
	// cluster. The system can perform additional analysis on
	// groups that are clusters.
	// +optional
	IsCluster *bool `json:"isCluster,omitempty" tf:"is_cluster"`
	// A unique identifier for this group. The format is
	// "projects/{project_id_or_number}/groups/{group_id}".
	// +optional
	Name *string `json:"name,omitempty" tf:"name"`
	// The name of the group's parent, if it has one. The format is
	// "projects/{project_id_or_number}/groups/{group_id}". For
	// groups with no parent, parentName is the empty string, "".
	// +optional
	ParentName *string `json:"parentName,omitempty" tf:"parent_name"`
	// +optional
	Project *string `json:"project,omitempty" tf:"project"`
}

func (*GroupSpecResource) DeepCopy

func (in *GroupSpecResource) DeepCopy() *GroupSpecResource

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GroupSpecResource.

func (*GroupSpecResource) DeepCopyInto

func (in *GroupSpecResource) DeepCopyInto(out *GroupSpecResource)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GroupStatus

type GroupStatus struct {
	// Resource generation, which is updated on mutation by the API Server.
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`
	// +optional
	Phase status.Status `json:"phase,omitempty"`
	// +optional
	Conditions []kmapi.Condition `json:"conditions,omitempty"`
}

func (*GroupStatus) DeepCopy

func (in *GroupStatus) DeepCopy() *GroupStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GroupStatus.

func (*GroupStatus) DeepCopyInto

func (in *GroupStatus) DeepCopyInto(out *GroupStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MetricDescriptor

type MetricDescriptor struct {
	metav1.TypeMeta   `json:",inline,omitempty"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              MetricDescriptorSpec   `json:"spec,omitempty"`
	Status            MetricDescriptorStatus `json:"status,omitempty"`
}

func (*MetricDescriptor) DeepCopy

func (in *MetricDescriptor) DeepCopy() *MetricDescriptor

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetricDescriptor.

func (*MetricDescriptor) DeepCopyInto

func (in *MetricDescriptor) DeepCopyInto(out *MetricDescriptor)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*MetricDescriptor) DeepCopyObject

func (in *MetricDescriptor) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*MetricDescriptor) SetupWebhookWithManager

func (r *MetricDescriptor) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*MetricDescriptor) ValidateCreate

func (r *MetricDescriptor) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*MetricDescriptor) ValidateDelete

func (r *MetricDescriptor) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*MetricDescriptor) ValidateUpdate

func (r *MetricDescriptor) ValidateUpdate(old runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type MetricDescriptorList

type MetricDescriptorList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	// Items is a list of MetricDescriptor CRD objects
	Items []MetricDescriptor `json:"items,omitempty"`
}

MetricDescriptorList is a list of MetricDescriptors

func (*MetricDescriptorList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetricDescriptorList.

func (*MetricDescriptorList) DeepCopyInto

func (in *MetricDescriptorList) DeepCopyInto(out *MetricDescriptorList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*MetricDescriptorList) DeepCopyObject

func (in *MetricDescriptorList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type MetricDescriptorSpec

type MetricDescriptorSpec struct {
	State *MetricDescriptorSpecResource `json:"state,omitempty" tf:"-"`

	Resource MetricDescriptorSpecResource `json:"resource" tf:"resource"`

	UpdatePolicy base.UpdatePolicy `json:"updatePolicy,omitempty" tf:"-"`

	TerminationPolicy base.TerminationPolicy `json:"terminationPolicy,omitempty" tf:"-"`

	ProviderRef core.LocalObjectReference `json:"providerRef" tf:"-"`

	BackendRef *core.LocalObjectReference `json:"backendRef,omitempty" tf:"-"`
}

func (*MetricDescriptorSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetricDescriptorSpec.

func (*MetricDescriptorSpec) DeepCopyInto

func (in *MetricDescriptorSpec) DeepCopyInto(out *MetricDescriptorSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MetricDescriptorSpecLabels

type MetricDescriptorSpecLabels struct {
	// A human-readable description for the label.
	// +optional
	Description *string `json:"description,omitempty" tf:"description"`
	// The key for this label. The key must not exceed 100 characters. The first character of the key must be an upper- or lower-case letter, the remaining characters must be letters, digits or underscores, and the key must match the regular expression [a-zA-Z][a-zA-Z0-9_]*
	Key *string `json:"key" tf:"key"`
	// The type of data that can be assigned to the label. Default value: "STRING" Possible values: ["STRING", "BOOL", "INT64"]
	// +optional
	ValueType *string `json:"valueType,omitempty" tf:"value_type"`
}

func (*MetricDescriptorSpecLabels) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetricDescriptorSpecLabels.

func (*MetricDescriptorSpecLabels) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MetricDescriptorSpecMetadata

type MetricDescriptorSpecMetadata struct {
	// The delay of data points caused by ingestion. Data points older than this age are guaranteed to be ingested and available to be read, excluding data loss due to errors. In '[duration format](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf?&_ga=2.264881487.1507873253.1593446723-935052455.1591817775#google.protobuf.Duration)'.
	// +optional
	IngestDelay *string `json:"ingestDelay,omitempty" tf:"ingest_delay"`
	// The sampling period of metric data points. For metrics which are written periodically, consecutive data points are stored at this time interval, excluding data loss due to errors. Metrics with a higher granularity have a smaller sampling period. In '[duration format](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf?&_ga=2.264881487.1507873253.1593446723-935052455.1591817775#google.protobuf.Duration)'.
	// +optional
	SamplePeriod *string `json:"samplePeriod,omitempty" tf:"sample_period"`
}

func (*MetricDescriptorSpecMetadata) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetricDescriptorSpecMetadata.

func (*MetricDescriptorSpecMetadata) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MetricDescriptorSpecMetadataCodec

type MetricDescriptorSpecMetadataCodec struct {
}

+k8s:deepcopy-gen=false

func (MetricDescriptorSpecMetadataCodec) Decode

func (MetricDescriptorSpecMetadataCodec) Encode

func (MetricDescriptorSpecMetadataCodec) IsEmpty

type MetricDescriptorSpecResource

type MetricDescriptorSpecResource struct {
	Timeouts *base.ResourceTimeout `json:"timeouts,omitempty" tf:"timeouts"`

	ID string `json:"id,omitempty" tf:"id,omitempty"`

	// A detailed description of the metric, which can be used in documentation.
	Description *string `json:"description" tf:"description"`
	// A concise name for the metric, which can be displayed in user interfaces. Use sentence case without an ending period, for example "Request count".
	DisplayName *string `json:"displayName" tf:"display_name"`
	// The set of labels that can be used to describe a specific instance of this metric type. In order to delete a label, the entire resource must be deleted, then created with the desired labels.
	// +optional
	Labels []MetricDescriptorSpecLabels `json:"labels,omitempty" tf:"labels"`
	// The launch stage of the metric definition. Possible values: ["LAUNCH_STAGE_UNSPECIFIED", "UNIMPLEMENTED", "PRELAUNCH", "EARLY_ACCESS", "ALPHA", "BETA", "GA", "DEPRECATED"]
	// +optional
	LaunchStage *string `json:"launchStage,omitempty" tf:"launch_stage"`
	// Metadata which can be used to guide usage of the metric.
	// +optional
	Metadata *MetricDescriptorSpecMetadata `json:"metadata,omitempty" tf:"metadata"`
	// Whether the metric records instantaneous values, changes to a value, etc. Some combinations of metricKind and valueType might not be supported. Possible values: ["METRIC_KIND_UNSPECIFIED", "GAUGE", "DELTA", "CUMULATIVE"]
	MetricKind *string `json:"metricKind" tf:"metric_kind"`
	// If present, then a time series, which is identified partially by a metric type and a MonitoredResourceDescriptor, that is associated with this metric type can only be associated with one of the monitored resource types listed here. This field allows time series to be associated with the intersection of this metric type and the monitored resource types in this list.
	// +optional
	MonitoredResourceTypes []string `json:"monitoredResourceTypes,omitempty" tf:"monitored_resource_types"`
	// The resource name of the metric descriptor.
	// +optional
	Name *string `json:"name,omitempty" tf:"name"`
	// +optional
	Project *string `json:"project,omitempty" tf:"project"`
	// The metric type, including its DNS name prefix. The type is not URL-encoded. All service defined metrics must be prefixed with the service name, in the format of {service name}/{relative metric name}, such as cloudsql.googleapis.com/database/cpu/utilization. The relative metric name must have only upper and lower-case letters, digits, '/' and underscores '_' are allowed. Additionally, the maximum number of characters allowed for the relative_metric_name is 100. All user-defined metric types have the DNS name custom.googleapis.com, external.googleapis.com, or logging.googleapis.com/user/.
	Type *string `json:"type" tf:"type"`
	// The units in which the metric value is reported. It is only applicable if the
	// valueType is INT64, DOUBLE, or DISTRIBUTION. The unit defines the representation of
	// the stored metric values.
	//
	// Different systems may scale the values to be more easily displayed (so a value of
	// 0.02KBy might be displayed as 20By, and a value of 3523KBy might be displayed as
	// 3.5MBy). However, if the unit is KBy, then the value of the metric is always in
	// thousands of bytes, no matter how it may be displayed.
	//
	// If you want a custom metric to record the exact number of CPU-seconds used by a job,
	// you can create an INT64 CUMULATIVE metric whose unit is s{CPU} (or equivalently
	// 1s{CPU} or just s). If the job uses 12,005 CPU-seconds, then the value is written as
	// 12005.
	//
	// Alternatively, if you want a custom metric to record data in a more granular way, you
	// can create a DOUBLE CUMULATIVE metric whose unit is ks{CPU}, and then write the value
	// 12.005 (which is 12005/1000), or use Kis{CPU} and write 11.723 (which is 12005/1024).
	// The supported units are a subset of The Unified Code for Units of Measure standard.
	// More info can be found in the API documentation
	// (https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.metricDescriptors).
	// +optional
	Unit *string `json:"unit,omitempty" tf:"unit"`
	// Whether the measurement is an integer, a floating-point number, etc. Some combinations of metricKind and valueType might not be supported. Possible values: ["BOOL", "INT64", "DOUBLE", "STRING", "DISTRIBUTION"]
	ValueType *string `json:"valueType" tf:"value_type"`
}

func (*MetricDescriptorSpecResource) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetricDescriptorSpecResource.

func (*MetricDescriptorSpecResource) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MetricDescriptorStatus

type MetricDescriptorStatus struct {
	// Resource generation, which is updated on mutation by the API Server.
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`
	// +optional
	Phase status.Status `json:"phase,omitempty"`
	// +optional
	Conditions []kmapi.Condition `json:"conditions,omitempty"`
}

func (*MetricDescriptorStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetricDescriptorStatus.

func (*MetricDescriptorStatus) DeepCopyInto

func (in *MetricDescriptorStatus) DeepCopyInto(out *MetricDescriptorStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NotificationChannel

type NotificationChannel struct {
	metav1.TypeMeta   `json:",inline,omitempty"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              NotificationChannelSpec   `json:"spec,omitempty"`
	Status            NotificationChannelStatus `json:"status,omitempty"`
}

func (*NotificationChannel) DeepCopy

func (in *NotificationChannel) DeepCopy() *NotificationChannel

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NotificationChannel.

func (*NotificationChannel) DeepCopyInto

func (in *NotificationChannel) DeepCopyInto(out *NotificationChannel)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NotificationChannel) DeepCopyObject

func (in *NotificationChannel) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*NotificationChannel) SetupWebhookWithManager

func (r *NotificationChannel) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*NotificationChannel) ValidateCreate

func (r *NotificationChannel) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*NotificationChannel) ValidateDelete

func (r *NotificationChannel) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*NotificationChannel) ValidateUpdate

func (r *NotificationChannel) ValidateUpdate(old runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type NotificationChannelList

type NotificationChannelList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	// Items is a list of NotificationChannel CRD objects
	Items []NotificationChannel `json:"items,omitempty"`
}

NotificationChannelList is a list of NotificationChannels

func (*NotificationChannelList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NotificationChannelList.

func (*NotificationChannelList) DeepCopyInto

func (in *NotificationChannelList) DeepCopyInto(out *NotificationChannelList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NotificationChannelList) DeepCopyObject

func (in *NotificationChannelList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type NotificationChannelSpec

type NotificationChannelSpec struct {
	State *NotificationChannelSpecResource `json:"state,omitempty" tf:"-"`

	Resource NotificationChannelSpecResource `json:"resource" tf:"resource"`

	UpdatePolicy base.UpdatePolicy `json:"updatePolicy,omitempty" tf:"-"`

	TerminationPolicy base.TerminationPolicy `json:"terminationPolicy,omitempty" tf:"-"`

	ProviderRef core.LocalObjectReference `json:"providerRef" tf:"-"`

	SecretRef *core.LocalObjectReference `json:"secretRef,omitempty" tf:"-"`

	BackendRef *core.LocalObjectReference `json:"backendRef,omitempty" tf:"-"`
}

func (*NotificationChannelSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NotificationChannelSpec.

func (*NotificationChannelSpec) DeepCopyInto

func (in *NotificationChannelSpec) DeepCopyInto(out *NotificationChannelSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NotificationChannelSpecResource

type NotificationChannelSpecResource struct {
	Timeouts *base.ResourceTimeout `json:"timeouts,omitempty" tf:"timeouts"`

	ID string `json:"id,omitempty" tf:"id,omitempty"`

	// An optional human-readable description of this notification channel. This description may provide additional details, beyond the display name, for the channel. This may not exceed 1024 Unicode characters.
	// +optional
	Description *string `json:"description,omitempty" tf:"description"`
	// An optional human-readable name for this notification channel. It is recommended that you specify a non-empty and unique name in order to make it easier to identify the channels in your project, though this is not enforced. The display name is limited to 512 Unicode characters.
	// +optional
	DisplayName *string `json:"displayName,omitempty" tf:"display_name"`
	// Whether notifications are forwarded to the described channel. This makes it possible to disable delivery of notifications to a particular channel without removing the channel from all alerting policies that reference the channel. This is a more convenient approach when the change is temporary and you want to receive notifications from the same set of alerting policies on the channel at some point in the future.
	// +optional
	Enabled *bool `json:"enabled,omitempty" tf:"enabled"`
	// Configuration fields that define the channel and its behavior. The
	// permissible and required labels are specified in the
	// NotificationChannelDescriptor corresponding to the type field.
	//
	// Labels with sensitive data are obfuscated by the API and therefore Terraform cannot
	// determine if there are upstream changes to these fields. They can also be configured via
	// the sensitive_labels block, but cannot be configured in both places.
	// +optional
	Labels *map[string]string `json:"labels,omitempty" tf:"labels"`
	// The full REST resource name for this channel. The syntax is:
	// projects/[PROJECT_ID]/notificationChannels/[CHANNEL_ID]
	// The [CHANNEL_ID] is automatically assigned by the server on creation.
	// +optional
	Name *string `json:"name,omitempty" tf:"name"`
	// +optional
	Project *string `json:"project,omitempty" tf:"project"`
	// Different notification type behaviors are configured primarily using the the 'labels' field on this
	// resource. This block contains the labels which contain secrets or passwords so that they can be marked
	// sensitive and hidden from plan output. The name of the field, eg: password, will be the key
	// in the 'labels' map in the api request.
	//
	// Credentials may not be specified in both locations and will cause an error. Changing from one location
	// to a different credential configuration in the config will require an apply to update state.
	// +optional
	SensitiveLabels *NotificationChannelSpecSensitiveLabels `json:"sensitiveLabels,omitempty" tf:"sensitive_labels"`
	// The type of the notification channel. This field matches the value of the NotificationChannelDescriptor.type field. See https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.notificationChannelDescriptors/list to get the list of valid values such as "email", "slack", etc...
	Type *string `json:"type" tf:"type"`
	// User-supplied key/value data that does not need to conform to the corresponding NotificationChannelDescriptor's schema, unlike the labels field. This field is intended to be used for organizing and identifying the NotificationChannel 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.
	// +optional
	UserLabels *map[string]string `json:"userLabels,omitempty" tf:"user_labels"`
	// Indicates whether this channel has been verified or not. On a ListNotificationChannels or GetNotificationChannel operation, this field is expected to be populated.If the value is UNVERIFIED, then it indicates that the channel is non-functioning (it both requires verification and lacks verification); otherwise, it is assumed that the channel works.If the channel is neither VERIFIED nor UNVERIFIED, it implies that the channel is of a type that does not require verification or that this specific channel has been exempted from verification because it was created prior to verification being required for channels of this type.This field cannot be modified using a standard UpdateNotificationChannel operation. To change the value of this field, you must call VerifyNotificationChannel.
	// +optional
	VerificationStatus *string `json:"verificationStatus,omitempty" tf:"verification_status"`
}

func (*NotificationChannelSpecResource) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NotificationChannelSpecResource.

func (*NotificationChannelSpecResource) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NotificationChannelSpecSensitiveLabels

type NotificationChannelSpecSensitiveLabels struct {
	// An authorization token for a notification channel. Channel types that support this field include: slack
	// +optional
	AuthToken *string `json:"-" sensitive:"true" tf:"auth_token"`
	// An password for a notification channel. Channel types that support this field include: webhook_basicauth
	// +optional
	Password *string `json:"-" sensitive:"true" tf:"password"`
	// An servicekey token for a notification channel. Channel types that support this field include: pagerduty
	// +optional
	ServiceKey *string `json:"-" sensitive:"true" tf:"service_key"`
}

func (*NotificationChannelSpecSensitiveLabels) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NotificationChannelSpecSensitiveLabels.

func (*NotificationChannelSpecSensitiveLabels) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NotificationChannelSpecSensitiveLabelsCodec

type NotificationChannelSpecSensitiveLabelsCodec struct {
}

+k8s:deepcopy-gen=false

func (NotificationChannelSpecSensitiveLabelsCodec) Decode

func (NotificationChannelSpecSensitiveLabelsCodec) Encode

func (NotificationChannelSpecSensitiveLabelsCodec) IsEmpty

type NotificationChannelStatus

type NotificationChannelStatus struct {
	// Resource generation, which is updated on mutation by the API Server.
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`
	// +optional
	Phase status.Status `json:"phase,omitempty"`
	// +optional
	Conditions []kmapi.Condition `json:"conditions,omitempty"`
}

func (*NotificationChannelStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NotificationChannelStatus.

func (*NotificationChannelStatus) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Slo

type Slo struct {
	metav1.TypeMeta   `json:",inline,omitempty"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              SloSpec   `json:"spec,omitempty"`
	Status            SloStatus `json:"status,omitempty"`
}

func (*Slo) DeepCopy

func (in *Slo) DeepCopy() *Slo

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Slo.

func (*Slo) DeepCopyInto

func (in *Slo) DeepCopyInto(out *Slo)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Slo) DeepCopyObject

func (in *Slo) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Slo) SetupWebhookWithManager

func (r *Slo) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*Slo) ValidateCreate

func (r *Slo) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*Slo) ValidateDelete

func (r *Slo) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*Slo) ValidateUpdate

func (r *Slo) ValidateUpdate(old runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type SloList

type SloList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	// Items is a list of Slo CRD objects
	Items []Slo `json:"items,omitempty"`
}

SloList is a list of Slos

func (*SloList) DeepCopy

func (in *SloList) DeepCopy() *SloList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SloList.

func (*SloList) DeepCopyInto

func (in *SloList) DeepCopyInto(out *SloList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*SloList) DeepCopyObject

func (in *SloList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type SloSpec

type SloSpec struct {
	State *SloSpecResource `json:"state,omitempty" tf:"-"`

	Resource SloSpecResource `json:"resource" tf:"resource"`

	UpdatePolicy base.UpdatePolicy `json:"updatePolicy,omitempty" tf:"-"`

	TerminationPolicy base.TerminationPolicy `json:"terminationPolicy,omitempty" tf:"-"`

	ProviderRef core.LocalObjectReference `json:"providerRef" tf:"-"`

	BackendRef *core.LocalObjectReference `json:"backendRef,omitempty" tf:"-"`
}

func (*SloSpec) DeepCopy

func (in *SloSpec) DeepCopy() *SloSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SloSpec.

func (*SloSpec) DeepCopyInto

func (in *SloSpec) DeepCopyInto(out *SloSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SloSpecBasicSli

type SloSpecBasicSli struct {
	// Availability based SLI, dervied from count of requests made to this service that return successfully.
	// +optional
	Availability *SloSpecBasicSliAvailability `json:"availability,omitempty" tf:"availability"`
	// Parameters for a latency threshold SLI.
	// +optional
	Latency *SloSpecBasicSliLatency `json:"latency,omitempty" tf:"latency"`
	// 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.
	// +optional
	Location []string `json:"location,omitempty" tf:"location"`
	// 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.
	// +optional
	Method []string `json:"method,omitempty" tf:"method"`
	// 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.
	// +optional
	Version []string `json:"version,omitempty" tf:"version"`
}

func (*SloSpecBasicSli) DeepCopy

func (in *SloSpecBasicSli) DeepCopy() *SloSpecBasicSli

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SloSpecBasicSli.

func (*SloSpecBasicSli) DeepCopyInto

func (in *SloSpecBasicSli) DeepCopyInto(out *SloSpecBasicSli)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SloSpecBasicSliAvailability

type SloSpecBasicSliAvailability struct {
	// Whether an availability SLI is enabled or not. Must be set to true. Defaults to 'true'.
	// +optional
	Enabled *bool `json:"enabled,omitempty" tf:"enabled"`
}

func (*SloSpecBasicSliAvailability) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SloSpecBasicSliAvailability.

func (*SloSpecBasicSliAvailability) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SloSpecBasicSliAvailabilityCodec

type SloSpecBasicSliAvailabilityCodec struct {
}

+k8s:deepcopy-gen=false

func (SloSpecBasicSliAvailabilityCodec) Decode

func (SloSpecBasicSliAvailabilityCodec) Encode

func (SloSpecBasicSliAvailabilityCodec) IsEmpty

type SloSpecBasicSliCodec

type SloSpecBasicSliCodec struct {
}

+k8s:deepcopy-gen=false

func (SloSpecBasicSliCodec) Decode

func (SloSpecBasicSliCodec) Encode

func (SloSpecBasicSliCodec) Encode(ptr unsafe.Pointer, stream *jsoniter.Stream)

func (SloSpecBasicSliCodec) IsEmpty

func (SloSpecBasicSliCodec) IsEmpty(ptr unsafe.Pointer) bool

type SloSpecBasicSliLatency

type SloSpecBasicSliLatency struct {
	// 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.
	Threshold *string `json:"threshold" tf:"threshold"`
}

func (*SloSpecBasicSliLatency) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SloSpecBasicSliLatency.

func (*SloSpecBasicSliLatency) DeepCopyInto

func (in *SloSpecBasicSliLatency) DeepCopyInto(out *SloSpecBasicSliLatency)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SloSpecBasicSliLatencyCodec

type SloSpecBasicSliLatencyCodec struct {
}

+k8s:deepcopy-gen=false

func (SloSpecBasicSliLatencyCodec) Decode

func (SloSpecBasicSliLatencyCodec) Encode

func (SloSpecBasicSliLatencyCodec) IsEmpty

type SloSpecRequestBasedSli

type SloSpecRequestBasedSli struct {
	// Used when good_service is defined by a count of values aggregated in a
	// Distribution that fall into a good range. The total_service is the
	// total count of all values aggregated in the Distribution.
	// Defines a distribution TimeSeries filter and thresholds used for
	// measuring good service and total service.
	//
	// Exactly one of 'distribution_cut' or 'good_total_ratio' can be set.
	// +optional
	DistributionCut *SloSpecRequestBasedSliDistributionCut `json:"distributionCut,omitempty" tf:"distribution_cut"`
	// A means to compute a ratio of 'good_service' to 'total_service'.
	// Defines computing this ratio with two TimeSeries [monitoring filters](https://cloud.google.com/monitoring/api/v3/filters)
	// Must specify exactly two of good, bad, and total service filters.
	// The relationship good_service + bad_service = total_service
	// will be assumed.
	//
	// Exactly one of 'distribution_cut' or 'good_total_ratio' can be set.
	// +optional
	GoodTotalRatio *SloSpecRequestBasedSliGoodTotalRatio `json:"goodTotalRatio,omitempty" tf:"good_total_ratio"`
}

func (*SloSpecRequestBasedSli) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SloSpecRequestBasedSli.

func (*SloSpecRequestBasedSli) DeepCopyInto

func (in *SloSpecRequestBasedSli) DeepCopyInto(out *SloSpecRequestBasedSli)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SloSpecRequestBasedSliCodec

type SloSpecRequestBasedSliCodec struct {
}

+k8s:deepcopy-gen=false

func (SloSpecRequestBasedSliCodec) Decode

func (SloSpecRequestBasedSliCodec) Encode

func (SloSpecRequestBasedSliCodec) IsEmpty

type SloSpecRequestBasedSliDistributionCut

type SloSpecRequestBasedSliDistributionCut struct {
	// 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.
	DistributionFilter *string `json:"distributionFilter" tf:"distribution_filter"`
	// Range of numerical values. The computed good_service
	// will be the count of values x in the Distribution such
	// that range.min <= x <= range.max. inclusive of min and
	// max. Open ranges can be defined by setting
	// just one of min or max.
	Range *SloSpecRequestBasedSliDistributionCutRange `json:"range" tf:"range"`
}

func (*SloSpecRequestBasedSliDistributionCut) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SloSpecRequestBasedSliDistributionCut.

func (*SloSpecRequestBasedSliDistributionCut) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SloSpecRequestBasedSliDistributionCutCodec

type SloSpecRequestBasedSliDistributionCutCodec struct {
}

+k8s:deepcopy-gen=false

func (SloSpecRequestBasedSliDistributionCutCodec) Decode

func (SloSpecRequestBasedSliDistributionCutCodec) Encode

func (SloSpecRequestBasedSliDistributionCutCodec) IsEmpty

type SloSpecRequestBasedSliDistributionCutRange

type SloSpecRequestBasedSliDistributionCutRange struct {
	// max value for the range (inclusive). If not given,
	// will be set to "infinity", defining an open range
	// ">= range.min"
	// +optional
	Max *float64 `json:"max,omitempty" tf:"max"`
	// Min value for the range (inclusive). If not given,
	// will be set to "-infinity", defining an open range
	// "< range.max"
	// +optional
	Min *float64 `json:"min,omitempty" tf:"min"`
}

func (*SloSpecRequestBasedSliDistributionCutRange) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SloSpecRequestBasedSliDistributionCutRange.

func (*SloSpecRequestBasedSliDistributionCutRange) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SloSpecRequestBasedSliDistributionCutRangeCodec

type SloSpecRequestBasedSliDistributionCutRangeCodec struct {
}

+k8s:deepcopy-gen=false

func (SloSpecRequestBasedSliDistributionCutRangeCodec) Decode

func (SloSpecRequestBasedSliDistributionCutRangeCodec) Encode

func (SloSpecRequestBasedSliDistributionCutRangeCodec) IsEmpty

type SloSpecRequestBasedSliGoodTotalRatio

type SloSpecRequestBasedSliGoodTotalRatio struct {
	// 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).
	// +optional
	BadServiceFilter *string `json:"badServiceFilter,omitempty" tf:"bad_service_filter"`
	// 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).
	// +optional
	GoodServiceFilter *string `json:"goodServiceFilter,omitempty" tf:"good_service_filter"`
	// 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).
	// +optional
	TotalServiceFilter *string `json:"totalServiceFilter,omitempty" tf:"total_service_filter"`
}

func (*SloSpecRequestBasedSliGoodTotalRatio) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SloSpecRequestBasedSliGoodTotalRatio.

func (*SloSpecRequestBasedSliGoodTotalRatio) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SloSpecRequestBasedSliGoodTotalRatioCodec

type SloSpecRequestBasedSliGoodTotalRatioCodec struct {
}

+k8s:deepcopy-gen=false

func (SloSpecRequestBasedSliGoodTotalRatioCodec) Decode

func (SloSpecRequestBasedSliGoodTotalRatioCodec) Encode

func (SloSpecRequestBasedSliGoodTotalRatioCodec) IsEmpty

type SloSpecResource

type SloSpecResource struct {
	Timeouts *base.ResourceTimeout `json:"timeouts,omitempty" tf:"timeouts"`

	ID string `json:"id,omitempty" tf:"id,omitempty"`

	// Basic Service-Level Indicator (SLI) on a well-known service type.
	// Performance will be computed on the basis of pre-defined metrics.
	//
	// SLIs are used to measure and calculate the quality of the Service's
	// performance with respect to a single aspect of service quality.
	//
	// Exactly one of the following must be set:
	// 'basic_sli', 'request_based_sli', 'windows_based_sli'
	// +optional
	BasicSli *SloSpecBasicSli `json:"basicSli,omitempty" tf:"basic_sli"`
	// A calendar period, semantically "since the start of the current
	// <calendarPeriod>". Possible values: ["DAY", "WEEK", "FORTNIGHT", "MONTH"]
	// +optional
	CalendarPeriod *string `json:"calendarPeriod,omitempty" tf:"calendar_period"`
	// Name used for UI elements listing this SLO.
	// +optional
	DisplayName *string `json:"displayName,omitempty" tf:"display_name"`
	// The fraction of service that must be good in order for this objective
	// to be met. 0 < goal <= 0.999
	Goal *float64 `json:"goal" tf:"goal"`
	// The full resource name for this service. The syntax is:
	// projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID]/serviceLevelObjectives/[SLO_NAME]
	// +optional
	Name *string `json:"name,omitempty" tf:"name"`
	// +optional
	Project *string `json:"project,omitempty" tf:"project"`
	// A request-based SLI defines a SLI for which atomic units of
	// service are counted directly.
	//
	// A SLI describes a good service.
	// It is used to measure and calculate the quality of the Service's
	// performance with respect to a single aspect of service quality.
	// Exactly one of the following must be set:
	// 'basic_sli', 'request_based_sli', 'windows_based_sli'
	// +optional
	RequestBasedSli *SloSpecRequestBasedSli `json:"requestBasedSli,omitempty" tf:"request_based_sli"`
	// A rolling time period, semantically "in the past X days".
	// Must be between 1 to 30 days, inclusive.
	// +optional
	RollingPeriodDays *int64 `json:"rollingPeriodDays,omitempty" tf:"rolling_period_days"`
	// ID of the service to which this SLO belongs.
	Service *string `json:"service" tf:"service"`
	// The id to use for this ServiceLevelObjective. If omitted, an id will be generated instead.
	// +optional
	SloID *string `json:"sloID,omitempty" tf:"slo_id"`
	// A windows-based SLI defines the criteria for time windows.
	// good_service is defined based off the count of these time windows
	// for which the provided service was of good quality.
	//
	// A SLI describes a good service. It is used to measure and calculate
	// the quality of the Service's performance with respect to a single
	// aspect of service quality.
	//
	// Exactly one of the following must be set:
	// 'basic_sli', 'request_based_sli', 'windows_based_sli'
	// +optional
	WindowsBasedSli *SloSpecWindowsBasedSli `json:"windowsBasedSli,omitempty" tf:"windows_based_sli"`
}

func (*SloSpecResource) DeepCopy

func (in *SloSpecResource) DeepCopy() *SloSpecResource

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SloSpecResource.

func (*SloSpecResource) DeepCopyInto

func (in *SloSpecResource) DeepCopyInto(out *SloSpecResource)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SloSpecWindowsBasedSli

type SloSpecWindowsBasedSli struct {
	// A TimeSeries [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)
	// with ValueType = BOOL. The window is good if any true values
	// appear in the window. One of 'good_bad_metric_filter',
	// 'good_total_ratio_threshold', 'metric_mean_in_range',
	// 'metric_sum_in_range' must be set for 'windows_based_sli'.
	// +optional
	GoodBadMetricFilter *string `json:"goodBadMetricFilter,omitempty" tf:"good_bad_metric_filter"`
	// Criterion that describes a window as good if its performance is
	// high enough. One of 'good_bad_metric_filter',
	// 'good_total_ratio_threshold', 'metric_mean_in_range',
	// 'metric_sum_in_range' must be set for 'windows_based_sli'.
	// +optional
	GoodTotalRatioThreshold *SloSpecWindowsBasedSliGoodTotalRatioThreshold `json:"goodTotalRatioThreshold,omitempty" tf:"good_total_ratio_threshold"`
	// Criterion that describes a window as good if the metric's value
	// is in a good range, *averaged* across returned streams.
	// One of 'good_bad_metric_filter',
	//
	// 'good_total_ratio_threshold', 'metric_mean_in_range',
	// 'metric_sum_in_range' must be set for 'windows_based_sli'.
	// Average value X of 'time_series' should satisfy
	// 'range.min <= X <= range.max' for a good window.
	// +optional
	MetricMeanInRange *SloSpecWindowsBasedSliMetricMeanInRange `json:"metricMeanInRange,omitempty" tf:"metric_mean_in_range"`
	// Criterion that describes a window as good if the metric's value
	// is in a good range, *summed* across returned streams.
	// Summed value 'X' of 'time_series' should satisfy
	// 'range.min <= X <= range.max' for a good window.
	//
	// One of 'good_bad_metric_filter',
	// 'good_total_ratio_threshold', 'metric_mean_in_range',
	// 'metric_sum_in_range' must be set for 'windows_based_sli'.
	// +optional
	MetricSumInRange *SloSpecWindowsBasedSliMetricSumInRange `json:"metricSumInRange,omitempty" tf:"metric_sum_in_range"`
	// Duration over which window quality is evaluated, given as a
	// duration string "{X}s" representing X seconds. Must be an
	// integer fraction of a day and at least 60s.
	// +optional
	WindowPeriod *string `json:"windowPeriod,omitempty" tf:"window_period"`
}

func (*SloSpecWindowsBasedSli) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SloSpecWindowsBasedSli.

func (*SloSpecWindowsBasedSli) DeepCopyInto

func (in *SloSpecWindowsBasedSli) DeepCopyInto(out *SloSpecWindowsBasedSli)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SloSpecWindowsBasedSliCodec

type SloSpecWindowsBasedSliCodec struct {
}

+k8s:deepcopy-gen=false

func (SloSpecWindowsBasedSliCodec) Decode

func (SloSpecWindowsBasedSliCodec) Encode

func (SloSpecWindowsBasedSliCodec) IsEmpty

type SloSpecWindowsBasedSliGoodTotalRatioThreshold

type SloSpecWindowsBasedSliGoodTotalRatioThreshold struct {
	// Basic SLI to evaluate to judge window quality.
	// +optional
	BasicSliPerformance *SloSpecWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformance `json:"basicSliPerformance,omitempty" tf:"basic_sli_performance"`
	// Request-based SLI to evaluate to judge window quality.
	// +optional
	Performance *SloSpecWindowsBasedSliGoodTotalRatioThresholdPerformance `json:"performance,omitempty" tf:"performance"`
	// If window performance >= threshold, the window is counted
	// as good.
	// +optional
	Threshold *float64 `json:"threshold,omitempty" tf:"threshold"`
}

func (*SloSpecWindowsBasedSliGoodTotalRatioThreshold) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SloSpecWindowsBasedSliGoodTotalRatioThreshold.

func (*SloSpecWindowsBasedSliGoodTotalRatioThreshold) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SloSpecWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformance

type SloSpecWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformance struct {
	// Availability based SLI, dervied from count of requests made to this service that return successfully.
	// +optional
	Availability *SloSpecWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceAvailability `json:"availability,omitempty" tf:"availability"`
	// Parameters for a latency threshold SLI.
	// +optional
	Latency *SloSpecWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceLatency `json:"latency,omitempty" tf:"latency"`
	// 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.
	// +optional
	Location []string `json:"location,omitempty" tf:"location"`
	// 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.
	// +optional
	Method []string `json:"method,omitempty" tf:"method"`
	// 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.
	// +optional
	Version []string `json:"version,omitempty" tf:"version"`
}

func (*SloSpecWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformance) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SloSpecWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformance.

func (*SloSpecWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformance) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SloSpecWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceAvailability

type SloSpecWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceAvailability struct {
	// Whether an availability SLI is enabled or not. Must be set to 'true. Defaults to 'true'.
	// +optional
	Enabled *bool `json:"enabled,omitempty" tf:"enabled"`
}

func (*SloSpecWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceAvailability) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SloSpecWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceAvailability.

func (*SloSpecWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceAvailability) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SloSpecWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceAvailabilityCodec

type SloSpecWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceAvailabilityCodec struct {
}

+k8s:deepcopy-gen=false

func (SloSpecWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceAvailabilityCodec) Decode

func (SloSpecWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceAvailabilityCodec) Encode

func (SloSpecWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceAvailabilityCodec) IsEmpty

type SloSpecWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceCodec

type SloSpecWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceCodec struct {
}

+k8s:deepcopy-gen=false

func (SloSpecWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceCodec) Decode

func (SloSpecWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceCodec) Encode

func (SloSpecWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceCodec) IsEmpty

type SloSpecWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceLatency

type SloSpecWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceLatency struct {
	// 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.
	Threshold *string `json:"threshold" tf:"threshold"`
}

func (*SloSpecWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceLatency) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SloSpecWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceLatency.

func (*SloSpecWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceLatency) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SloSpecWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceLatencyCodec

type SloSpecWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceLatencyCodec struct {
}

+k8s:deepcopy-gen=false

func (SloSpecWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceLatencyCodec) Decode

func (SloSpecWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceLatencyCodec) Encode

func (SloSpecWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceLatencyCodec) IsEmpty

type SloSpecWindowsBasedSliGoodTotalRatioThresholdCodec

type SloSpecWindowsBasedSliGoodTotalRatioThresholdCodec struct {
}

+k8s:deepcopy-gen=false

func (SloSpecWindowsBasedSliGoodTotalRatioThresholdCodec) Decode

func (SloSpecWindowsBasedSliGoodTotalRatioThresholdCodec) Encode

func (SloSpecWindowsBasedSliGoodTotalRatioThresholdCodec) IsEmpty

type SloSpecWindowsBasedSliGoodTotalRatioThresholdPerformance

type SloSpecWindowsBasedSliGoodTotalRatioThresholdPerformance struct {
	// Used when good_service is defined by a count of values aggregated in a
	// Distribution that fall into a good range. The total_service is the
	// total count of all values aggregated in the Distribution.
	// Defines a distribution TimeSeries filter and thresholds used for
	// measuring good service and total service.
	// +optional
	DistributionCut *SloSpecWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCut `json:"distributionCut,omitempty" tf:"distribution_cut"`
	// A means to compute a ratio of 'good_service' to 'total_service'.
	// Defines computing this ratio with two TimeSeries [monitoring filters](https://cloud.google.com/monitoring/api/v3/filters)
	// Must specify exactly two of good, bad, and total service filters.
	// The relationship good_service + bad_service = total_service
	// will be assumed.
	// +optional
	GoodTotalRatio *SloSpecWindowsBasedSliGoodTotalRatioThresholdPerformanceGoodTotalRatio `json:"goodTotalRatio,omitempty" tf:"good_total_ratio"`
}

func (*SloSpecWindowsBasedSliGoodTotalRatioThresholdPerformance) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SloSpecWindowsBasedSliGoodTotalRatioThresholdPerformance.

func (*SloSpecWindowsBasedSliGoodTotalRatioThresholdPerformance) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SloSpecWindowsBasedSliGoodTotalRatioThresholdPerformanceCodec

type SloSpecWindowsBasedSliGoodTotalRatioThresholdPerformanceCodec struct {
}

+k8s:deepcopy-gen=false

func (SloSpecWindowsBasedSliGoodTotalRatioThresholdPerformanceCodec) Decode

func (SloSpecWindowsBasedSliGoodTotalRatioThresholdPerformanceCodec) Encode

func (SloSpecWindowsBasedSliGoodTotalRatioThresholdPerformanceCodec) IsEmpty

type SloSpecWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCut

type SloSpecWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCut struct {
	// 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.
	DistributionFilter *string `json:"distributionFilter" tf:"distribution_filter"`
	// Range of numerical values. The computed good_service
	// will be the count of values x in the Distribution such
	// that range.min <= x <= range.max. inclusive of min and
	// max. Open ranges can be defined by setting
	// just one of min or max.
	Range *SloSpecWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCutRange `json:"range" tf:"range"`
}

func (*SloSpecWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCut) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SloSpecWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCut.

func (*SloSpecWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCut) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SloSpecWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCutCodec

type SloSpecWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCutCodec struct {
}

+k8s:deepcopy-gen=false

func (SloSpecWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCutCodec) Decode

func (SloSpecWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCutCodec) Encode

func (SloSpecWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCutCodec) IsEmpty

type SloSpecWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCutRange

type SloSpecWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCutRange struct {
	// max value for the range (inclusive). If not given,
	// will be set to "infinity", defining an open range
	// ">= range.min"
	// +optional
	Max *float64 `json:"max,omitempty" tf:"max"`
	// Min value for the range (inclusive). If not given,
	// will be set to "-infinity", defining an open range
	// "< range.max"
	// +optional
	Min *float64 `json:"min,omitempty" tf:"min"`
}

func (*SloSpecWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCutRange) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SloSpecWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCutRange.

func (*SloSpecWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCutRange) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SloSpecWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCutRangeCodec

type SloSpecWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCutRangeCodec struct {
}

+k8s:deepcopy-gen=false

func (SloSpecWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCutRangeCodec) Decode

func (SloSpecWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCutRangeCodec) Encode

func (SloSpecWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCutRangeCodec) IsEmpty

type SloSpecWindowsBasedSliGoodTotalRatioThresholdPerformanceGoodTotalRatio

type SloSpecWindowsBasedSliGoodTotalRatioThresholdPerformanceGoodTotalRatio struct {
	// 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.
	// +optional
	BadServiceFilter *string `json:"badServiceFilter,omitempty" tf:"bad_service_filter"`
	// 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.
	// +optional
	GoodServiceFilter *string `json:"goodServiceFilter,omitempty" tf:"good_service_filter"`
	// 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.
	// +optional
	TotalServiceFilter *string `json:"totalServiceFilter,omitempty" tf:"total_service_filter"`
}

func (*SloSpecWindowsBasedSliGoodTotalRatioThresholdPerformanceGoodTotalRatio) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SloSpecWindowsBasedSliGoodTotalRatioThresholdPerformanceGoodTotalRatio.

func (*SloSpecWindowsBasedSliGoodTotalRatioThresholdPerformanceGoodTotalRatio) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SloSpecWindowsBasedSliGoodTotalRatioThresholdPerformanceGoodTotalRatioCodec

type SloSpecWindowsBasedSliGoodTotalRatioThresholdPerformanceGoodTotalRatioCodec struct {
}

+k8s:deepcopy-gen=false

func (SloSpecWindowsBasedSliGoodTotalRatioThresholdPerformanceGoodTotalRatioCodec) Decode

func (SloSpecWindowsBasedSliGoodTotalRatioThresholdPerformanceGoodTotalRatioCodec) Encode

func (SloSpecWindowsBasedSliGoodTotalRatioThresholdPerformanceGoodTotalRatioCodec) IsEmpty

type SloSpecWindowsBasedSliMetricMeanInRange

type SloSpecWindowsBasedSliMetricMeanInRange struct {
	// Range of numerical values. The computed good_service
	// will be the count of values x in the Distribution such
	// that range.min <= x <= range.max. inclusive of min and
	// max. Open ranges can be defined by setting
	// just one of min or max. Mean value 'X' of 'time_series'
	// values should satisfy 'range.min <= X <= range.max' for a
	// good service.
	Range *SloSpecWindowsBasedSliMetricMeanInRangeRange `json:"range" tf:"range"`
	// 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.
	TimeSeries *string `json:"timeSeries" tf:"time_series"`
}

func (*SloSpecWindowsBasedSliMetricMeanInRange) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SloSpecWindowsBasedSliMetricMeanInRange.

func (*SloSpecWindowsBasedSliMetricMeanInRange) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SloSpecWindowsBasedSliMetricMeanInRangeCodec

type SloSpecWindowsBasedSliMetricMeanInRangeCodec struct {
}

+k8s:deepcopy-gen=false

func (SloSpecWindowsBasedSliMetricMeanInRangeCodec) Decode

func (SloSpecWindowsBasedSliMetricMeanInRangeCodec) Encode

func (SloSpecWindowsBasedSliMetricMeanInRangeCodec) IsEmpty

type SloSpecWindowsBasedSliMetricMeanInRangeRange

type SloSpecWindowsBasedSliMetricMeanInRangeRange struct {
	// max value for the range (inclusive). If not given,
	// will be set to "infinity", defining an open range
	// ">= range.min"
	// +optional
	Max *float64 `json:"max,omitempty" tf:"max"`
	// Min value for the range (inclusive). If not given,
	// will be set to "-infinity", defining an open range
	// "< range.max"
	// +optional
	Min *float64 `json:"min,omitempty" tf:"min"`
}

func (*SloSpecWindowsBasedSliMetricMeanInRangeRange) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SloSpecWindowsBasedSliMetricMeanInRangeRange.

func (*SloSpecWindowsBasedSliMetricMeanInRangeRange) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SloSpecWindowsBasedSliMetricMeanInRangeRangeCodec

type SloSpecWindowsBasedSliMetricMeanInRangeRangeCodec struct {
}

+k8s:deepcopy-gen=false

func (SloSpecWindowsBasedSliMetricMeanInRangeRangeCodec) Decode

func (SloSpecWindowsBasedSliMetricMeanInRangeRangeCodec) Encode

func (SloSpecWindowsBasedSliMetricMeanInRangeRangeCodec) IsEmpty

type SloSpecWindowsBasedSliMetricSumInRange

type SloSpecWindowsBasedSliMetricSumInRange struct {
	// Range of numerical values. The computed good_service
	// will be the count of values x in the Distribution such
	// that range.min <= x <= range.max. inclusive of min and
	// max. Open ranges can be defined by setting
	// just one of min or max. Summed value 'X' should satisfy
	// 'range.min <= X <= range.max' for a good window.
	Range *SloSpecWindowsBasedSliMetricSumInRangeRange `json:"range" tf:"range"`
	// A [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)
	// specifying the TimeSeries to use for evaluating window
	// quality. The provided TimeSeries must have
	// ValueType = INT64 or ValueType = DOUBLE and
	// MetricKind = GAUGE.
	//
	// Summed value 'X' should satisfy
	// 'range.min <= X <= range.max' for a good window.
	TimeSeries *string `json:"timeSeries" tf:"time_series"`
}

func (*SloSpecWindowsBasedSliMetricSumInRange) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SloSpecWindowsBasedSliMetricSumInRange.

func (*SloSpecWindowsBasedSliMetricSumInRange) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SloSpecWindowsBasedSliMetricSumInRangeCodec

type SloSpecWindowsBasedSliMetricSumInRangeCodec struct {
}

+k8s:deepcopy-gen=false

func (SloSpecWindowsBasedSliMetricSumInRangeCodec) Decode

func (SloSpecWindowsBasedSliMetricSumInRangeCodec) Encode

func (SloSpecWindowsBasedSliMetricSumInRangeCodec) IsEmpty

type SloSpecWindowsBasedSliMetricSumInRangeRange

type SloSpecWindowsBasedSliMetricSumInRangeRange struct {
	// max value for the range (inclusive). If not given,
	// will be set to "infinity", defining an open range
	// ">= range.min"
	// +optional
	Max *float64 `json:"max,omitempty" tf:"max"`
	// Min value for the range (inclusive). If not given,
	// will be set to "-infinity", defining an open range
	// "< range.max"
	// +optional
	Min *float64 `json:"min,omitempty" tf:"min"`
}

func (*SloSpecWindowsBasedSliMetricSumInRangeRange) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SloSpecWindowsBasedSliMetricSumInRangeRange.

func (*SloSpecWindowsBasedSliMetricSumInRangeRange) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SloSpecWindowsBasedSliMetricSumInRangeRangeCodec

type SloSpecWindowsBasedSliMetricSumInRangeRangeCodec struct {
}

+k8s:deepcopy-gen=false

func (SloSpecWindowsBasedSliMetricSumInRangeRangeCodec) Decode

func (SloSpecWindowsBasedSliMetricSumInRangeRangeCodec) Encode

func (SloSpecWindowsBasedSliMetricSumInRangeRangeCodec) IsEmpty

type SloStatus

type SloStatus struct {
	// Resource generation, which is updated on mutation by the API Server.
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`
	// +optional
	Phase status.Status `json:"phase,omitempty"`
	// +optional
	Conditions []kmapi.Condition `json:"conditions,omitempty"`
}

func (*SloStatus) DeepCopy

func (in *SloStatus) DeepCopy() *SloStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SloStatus.

func (*SloStatus) DeepCopyInto

func (in *SloStatus) DeepCopyInto(out *SloStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type UptimeCheckConfig

type UptimeCheckConfig struct {
	metav1.TypeMeta   `json:",inline,omitempty"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              UptimeCheckConfigSpec   `json:"spec,omitempty"`
	Status            UptimeCheckConfigStatus `json:"status,omitempty"`
}

func (*UptimeCheckConfig) DeepCopy

func (in *UptimeCheckConfig) DeepCopy() *UptimeCheckConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UptimeCheckConfig.

func (*UptimeCheckConfig) DeepCopyInto

func (in *UptimeCheckConfig) DeepCopyInto(out *UptimeCheckConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*UptimeCheckConfig) DeepCopyObject

func (in *UptimeCheckConfig) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*UptimeCheckConfig) SetupWebhookWithManager

func (r *UptimeCheckConfig) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*UptimeCheckConfig) ValidateCreate

func (r *UptimeCheckConfig) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*UptimeCheckConfig) ValidateDelete

func (r *UptimeCheckConfig) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*UptimeCheckConfig) ValidateUpdate

func (r *UptimeCheckConfig) ValidateUpdate(old runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type UptimeCheckConfigList

type UptimeCheckConfigList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	// Items is a list of UptimeCheckConfig CRD objects
	Items []UptimeCheckConfig `json:"items,omitempty"`
}

UptimeCheckConfigList is a list of UptimeCheckConfigs

func (*UptimeCheckConfigList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UptimeCheckConfigList.

func (*UptimeCheckConfigList) DeepCopyInto

func (in *UptimeCheckConfigList) DeepCopyInto(out *UptimeCheckConfigList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*UptimeCheckConfigList) DeepCopyObject

func (in *UptimeCheckConfigList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type UptimeCheckConfigSpec

type UptimeCheckConfigSpec struct {
	State *UptimeCheckConfigSpecResource `json:"state,omitempty" tf:"-"`

	Resource UptimeCheckConfigSpecResource `json:"resource" tf:"resource"`

	UpdatePolicy base.UpdatePolicy `json:"updatePolicy,omitempty" tf:"-"`

	TerminationPolicy base.TerminationPolicy `json:"terminationPolicy,omitempty" tf:"-"`

	ProviderRef core.LocalObjectReference `json:"providerRef" tf:"-"`

	SecretRef *core.LocalObjectReference `json:"secretRef,omitempty" tf:"-"`

	BackendRef *core.LocalObjectReference `json:"backendRef,omitempty" tf:"-"`
}

func (*UptimeCheckConfigSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UptimeCheckConfigSpec.

func (*UptimeCheckConfigSpec) DeepCopyInto

func (in *UptimeCheckConfigSpec) DeepCopyInto(out *UptimeCheckConfigSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type UptimeCheckConfigSpecContentMatchers

type UptimeCheckConfigSpecContentMatchers struct {
	// String or regex content to match (max 1024 bytes)
	Content *string `json:"content" tf:"content"`
	// The type of content matcher that will be applied to the server output, compared to the content string when the check is run. Default value: "CONTAINS_STRING" Possible values: ["CONTAINS_STRING", "NOT_CONTAINS_STRING", "MATCHES_REGEX", "NOT_MATCHES_REGEX"]
	// +optional
	Matcher *string `json:"matcher,omitempty" tf:"matcher"`
}

func (*UptimeCheckConfigSpecContentMatchers) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UptimeCheckConfigSpecContentMatchers.

func (*UptimeCheckConfigSpecContentMatchers) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type UptimeCheckConfigSpecHttpCheck

type UptimeCheckConfigSpecHttpCheck struct {
	// The authentication information. Optional when creating an HTTP check; defaults to empty.
	// +optional
	AuthInfo *UptimeCheckConfigSpecHttpCheckAuthInfo `json:"authInfo,omitempty" tf:"auth_info"`
	// The request body associated with the HTTP POST request. If contentType is URL_ENCODED, the body passed in must be URL-encoded. Users can provide a Content-Length header via the headers field or the API will do so. If the requestMethod is GET and body is not empty, the API will return an error. The maximum byte size is 1 megabyte. Note - As with all bytes fields JSON representations are base64 encoded. e.g. "foo=bar" in URL-encoded form is "foo%3Dbar" and in base64 encoding is "Zm9vJTI1M0RiYXI=".
	// +optional
	Body *string `json:"body,omitempty" tf:"body"`
	// The content type to use for the check. Possible values: ["TYPE_UNSPECIFIED", "URL_ENCODED"]
	// +optional
	ContentType *string `json:"contentType,omitempty" tf:"content_type"`
	// The list of headers to send as part of the uptime check request. If two headers have the same key and different values, they should be entered as a single header, with the value being a comma-separated list of all the desired values as described at https://www.w3.org/Protocols/rfc2616/rfc2616.txt (page 31). Entering two separate headers with the same key in a Create call will cause the first to be overwritten by the second. The maximum number of headers allowed is 100.
	// +optional
	Headers *map[string]string `json:"headers,omitempty" tf:"headers"`
	// Boolean specifying whether to encrypt the header information. Encryption should be specified for any headers related to authentication that you do not wish to be seen when retrieving the configuration. The server will be responsible for encrypting the headers. On Get/List calls, if mask_headers is set to True then the headers will be obscured with ******.
	// +optional
	MaskHeaders *bool `json:"maskHeaders,omitempty" tf:"mask_headers"`
	// The path to the page to run the check against. Will be combined with the host (specified within the MonitoredResource) and port to construct the full URL. Optional (defaults to "/").
	// +optional
	Path *string `json:"path,omitempty" tf:"path"`
	// The port to the page to run the check against. Will be combined with host (specified within the MonitoredResource) and path to construct the full URL. Optional (defaults to 80 without SSL, or 443 with SSL).
	// +optional
	Port *int64 `json:"port,omitempty" tf:"port"`
	// The HTTP request method to use for the check. If set to METHOD_UNSPECIFIED then requestMethod defaults to GET. Default value: "GET" Possible values: ["METHOD_UNSPECIFIED", "GET", "POST"]
	// +optional
	RequestMethod *string `json:"requestMethod,omitempty" tf:"request_method"`
	// If true, use HTTPS instead of HTTP to run the check.
	// +optional
	UseSsl *bool `json:"useSsl,omitempty" tf:"use_ssl"`
	// Boolean specifying whether to include SSL certificate validation as a part of the Uptime check. Only applies to checks where monitoredResource is set to uptime_url. If useSsl is false, setting validateSsl to true has no effect.
	// +optional
	ValidateSsl *bool `json:"validateSsl,omitempty" tf:"validate_ssl"`
}

func (*UptimeCheckConfigSpecHttpCheck) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UptimeCheckConfigSpecHttpCheck.

func (*UptimeCheckConfigSpecHttpCheck) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type UptimeCheckConfigSpecHttpCheckAuthInfo

type UptimeCheckConfigSpecHttpCheckAuthInfo struct {
	// The password to authenticate.
	Password *string `json:"-" sensitive:"true" tf:"password"`
	// The username to authenticate.
	Username *string `json:"username" tf:"username"`
}

func (*UptimeCheckConfigSpecHttpCheckAuthInfo) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UptimeCheckConfigSpecHttpCheckAuthInfo.

func (*UptimeCheckConfigSpecHttpCheckAuthInfo) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type UptimeCheckConfigSpecHttpCheckAuthInfoCodec

type UptimeCheckConfigSpecHttpCheckAuthInfoCodec struct {
}

+k8s:deepcopy-gen=false

func (UptimeCheckConfigSpecHttpCheckAuthInfoCodec) Decode

func (UptimeCheckConfigSpecHttpCheckAuthInfoCodec) Encode

func (UptimeCheckConfigSpecHttpCheckAuthInfoCodec) IsEmpty

type UptimeCheckConfigSpecHttpCheckCodec

type UptimeCheckConfigSpecHttpCheckCodec struct {
}

+k8s:deepcopy-gen=false

func (UptimeCheckConfigSpecHttpCheckCodec) Decode

func (UptimeCheckConfigSpecHttpCheckCodec) Encode

func (UptimeCheckConfigSpecHttpCheckCodec) IsEmpty

type UptimeCheckConfigSpecMonitoredResource

type UptimeCheckConfigSpecMonitoredResource struct {
	// Values for all of the labels listed in the associated monitored resource descriptor. For example, Compute Engine VM instances use the labels "project_id", "instance_id", and "zone".
	Labels *map[string]string `json:"labels" tf:"labels"`
	// The monitored resource type. This field must match the type field of a MonitoredResourceDescriptor (https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.monitoredResourceDescriptors#MonitoredResourceDescriptor) object. For example, the type of a Compute Engine VM instance is gce_instance. For a list of types, see Monitoring resource types (https://cloud.google.com/monitoring/api/resources) and Logging resource types (https://cloud.google.com/logging/docs/api/v2/resource-list).
	Type *string `json:"type" tf:"type"`
}

func (*UptimeCheckConfigSpecMonitoredResource) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UptimeCheckConfigSpecMonitoredResource.

func (*UptimeCheckConfigSpecMonitoredResource) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type UptimeCheckConfigSpecMonitoredResourceCodec

type UptimeCheckConfigSpecMonitoredResourceCodec struct {
}

+k8s:deepcopy-gen=false

func (UptimeCheckConfigSpecMonitoredResourceCodec) Decode

func (UptimeCheckConfigSpecMonitoredResourceCodec) Encode

func (UptimeCheckConfigSpecMonitoredResourceCodec) IsEmpty

type UptimeCheckConfigSpecResource

type UptimeCheckConfigSpecResource struct {
	Timeouts *base.ResourceTimeout `json:"timeouts,omitempty" tf:"timeouts"`

	ID string `json:"id,omitempty" tf:"id,omitempty"`

	// The expected content on the page the check is run against. Currently, only the first entry in the list is supported, and other entries will be ignored. The server will look for an exact match of the string in the page response's content. This field is optional and should only be specified if a content match is required.
	// +optional
	ContentMatchers []UptimeCheckConfigSpecContentMatchers `json:"contentMatchers,omitempty" tf:"content_matchers"`
	// A human-friendly name for the uptime check configuration. The display name should be unique within a Stackdriver Workspace in order to make it easier to identify; however, uniqueness is not enforced.
	DisplayName *string `json:"displayName" tf:"display_name"`
	// Contains information needed to make an HTTP or HTTPS check.
	// +optional
	HttpCheck *UptimeCheckConfigSpecHttpCheck `json:"httpCheck,omitempty" tf:"http_check"`
	// The monitored resource (https://cloud.google.com/monitoring/api/resources) associated with the configuration. The following monitored resource types are supported for uptime checks:  uptime_url  gce_instance  gae_app  aws_ec2_instance  aws_elb_load_balancer
	// +optional
	MonitoredResource *UptimeCheckConfigSpecMonitoredResource `json:"monitoredResource,omitempty" tf:"monitored_resource"`
	// A unique resource name for this UptimeCheckConfig. The format is projects/[PROJECT_ID]/uptimeCheckConfigs/[UPTIME_CHECK_ID].
	// +optional
	Name *string `json:"name,omitempty" tf:"name"`
	// How often, in seconds, the uptime check is performed. Currently, the only supported values are 60s (1 minute), 300s (5 minutes), 600s (10 minutes), and 900s (15 minutes). Optional, defaults to 300s.
	// +optional
	Period *string `json:"period,omitempty" tf:"period"`
	// +optional
	Project *string `json:"project,omitempty" tf:"project"`
	// The group resource associated with the configuration.
	// +optional
	ResourceGroup *UptimeCheckConfigSpecResourceGroup `json:"resourceGroup,omitempty" tf:"resource_group"`
	// The list of regions from which the check will be run. Some regions contain one location, and others contain more than one. If this field is specified, enough regions to include a minimum of 3 locations must be provided, or an error message is returned. Not specifying this field will result in uptime checks running from all regions.
	// +optional
	SelectedRegions []string `json:"selectedRegions,omitempty" tf:"selected_regions"`
	// Contains information needed to make a TCP check.
	// +optional
	TcpCheck *UptimeCheckConfigSpecTcpCheck `json:"tcpCheck,omitempty" tf:"tcp_check"`
	// The maximum amount of time to wait for the request to complete (must be between 1 and 60 seconds). Accepted formats https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.Duration
	Timeout *string `json:"timeout" tf:"timeout"`
	// The id of the uptime check
	// +optional
	UptimeCheckID *string `json:"uptimeCheckID,omitempty" tf:"uptime_check_id"`
}

func (*UptimeCheckConfigSpecResource) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UptimeCheckConfigSpecResource.

func (*UptimeCheckConfigSpecResource) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type UptimeCheckConfigSpecResourceGroup

type UptimeCheckConfigSpecResourceGroup struct {
	// The group of resources being monitored. Should be the 'name' of a group
	// +optional
	GroupID *string `json:"groupID,omitempty" tf:"group_id"`
	// The resource type of the group members. Possible values: ["RESOURCE_TYPE_UNSPECIFIED", "INSTANCE", "AWS_ELB_LOAD_BALANCER"]
	// +optional
	ResourceType *string `json:"resourceType,omitempty" tf:"resource_type"`
}

func (*UptimeCheckConfigSpecResourceGroup) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UptimeCheckConfigSpecResourceGroup.

func (*UptimeCheckConfigSpecResourceGroup) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type UptimeCheckConfigSpecResourceGroupCodec

type UptimeCheckConfigSpecResourceGroupCodec struct {
}

+k8s:deepcopy-gen=false

func (UptimeCheckConfigSpecResourceGroupCodec) Decode

func (UptimeCheckConfigSpecResourceGroupCodec) Encode

func (UptimeCheckConfigSpecResourceGroupCodec) IsEmpty

type UptimeCheckConfigSpecTcpCheck

type UptimeCheckConfigSpecTcpCheck struct {
	// The port to the page to run the check against. Will be combined with host (specified within the MonitoredResource) to construct the full URL.
	Port *int64 `json:"port" tf:"port"`
}

func (*UptimeCheckConfigSpecTcpCheck) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UptimeCheckConfigSpecTcpCheck.

func (*UptimeCheckConfigSpecTcpCheck) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type UptimeCheckConfigSpecTcpCheckCodec

type UptimeCheckConfigSpecTcpCheckCodec struct {
}

+k8s:deepcopy-gen=false

func (UptimeCheckConfigSpecTcpCheckCodec) Decode

func (UptimeCheckConfigSpecTcpCheckCodec) Encode

func (UptimeCheckConfigSpecTcpCheckCodec) IsEmpty

type UptimeCheckConfigStatus

type UptimeCheckConfigStatus struct {
	// Resource generation, which is updated on mutation by the API Server.
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`
	// +optional
	Phase status.Status `json:"phase,omitempty"`
	// +optional
	Conditions []kmapi.Condition `json:"conditions,omitempty"`
}

func (*UptimeCheckConfigStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UptimeCheckConfigStatus.

func (*UptimeCheckConfigStatus) DeepCopyInto

func (in *UptimeCheckConfigStatus) DeepCopyInto(out *UptimeCheckConfigStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL