// Code generated by applyconfiguration-gen. DO NOT EDIT.

package v1

// ClusterConditionApplyConfiguration represents an declarative configuration of the ClusterCondition type for use
// with apply.
type ClusterConditionApplyConfiguration struct {
	Type   *string                                   `json:"type,omitempty"`
	PromQL *PromQLClusterConditionApplyConfiguration `json:"promql,omitempty"`
}

// ClusterConditionApplyConfiguration constructs an declarative configuration of the ClusterCondition type for use with
// apply.
func ClusterCondition() *ClusterConditionApplyConfiguration {
	return &ClusterConditionApplyConfiguration{}
}

// WithType sets the Type field in the declarative configuration to the given value
// and returns the receiver, so that objects can be built by chaining "With" function invocations.
// If called multiple times, the Type field is set to the value of the last call.
func (b *ClusterConditionApplyConfiguration) WithType(value string) *ClusterConditionApplyConfiguration {
	b.Type = &value
	return b
}

// WithPromQL sets the PromQL field in the declarative configuration to the given value
// and returns the receiver, so that objects can be built by chaining "With" function invocations.
// If called multiple times, the PromQL field is set to the value of the last call.
func (b *ClusterConditionApplyConfiguration) WithPromQL(value *PromQLClusterConditionApplyConfiguration) *ClusterConditionApplyConfiguration {
	b.PromQL = value
	return b
}
