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

package v1

import (
	operatorv1 "github.com/openshift/api/operator/v1"
)

// HealthCheckApplyConfiguration represents a declarative configuration of the HealthCheck type for use
// with apply.
//
// healthCheck represents an Insights health check attributes.
type HealthCheckApplyConfiguration struct {
	// description provides basic description of the healtcheck.
	Description *string `json:"description,omitempty"`
	// totalRisk of the healthcheck. Indicator of the total risk posed
	// by the detected issue; combination of impact and likelihood. The values can be from 1 to 4,
	// and the higher the number, the more important the issue.
	TotalRisk *int32 `json:"totalRisk,omitempty"`
	// advisorURI provides the URL link to the Insights Advisor.
	AdvisorURI *string `json:"advisorURI,omitempty"`
	// state determines what the current state of the health check is.
	// Health check is enabled by default and can be disabled
	// by the user in the Insights advisor user interface.
	State *operatorv1.HealthCheckState `json:"state,omitempty"`
}

// HealthCheckApplyConfiguration constructs a declarative configuration of the HealthCheck type for use with
// apply.
func HealthCheck() *HealthCheckApplyConfiguration {
	return &HealthCheckApplyConfiguration{}
}

// WithDescription sets the Description 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 Description field is set to the value of the last call.
func (b *HealthCheckApplyConfiguration) WithDescription(value string) *HealthCheckApplyConfiguration {
	b.Description = &value
	return b
}

// WithTotalRisk sets the TotalRisk 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 TotalRisk field is set to the value of the last call.
func (b *HealthCheckApplyConfiguration) WithTotalRisk(value int32) *HealthCheckApplyConfiguration {
	b.TotalRisk = &value
	return b
}

// WithAdvisorURI sets the AdvisorURI 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 AdvisorURI field is set to the value of the last call.
func (b *HealthCheckApplyConfiguration) WithAdvisorURI(value string) *HealthCheckApplyConfiguration {
	b.AdvisorURI = &value
	return b
}

// WithState sets the State 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 State field is set to the value of the last call.
func (b *HealthCheckApplyConfiguration) WithState(value operatorv1.HealthCheckState) *HealthCheckApplyConfiguration {
	b.State = &value
	return b
}
