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

package v1

import (
	configv1 "github.com/openshift/api/config/v1"
	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)

// UpdateHistoryApplyConfiguration represents a declarative configuration of the UpdateHistory type for use
// with apply.
type UpdateHistoryApplyConfiguration struct {
	State          *configv1.UpdateState `json:"state,omitempty"`
	StartedTime    *metav1.Time          `json:"startedTime,omitempty"`
	CompletionTime *metav1.Time          `json:"completionTime,omitempty"`
	Version        *string               `json:"version,omitempty"`
	Image          *string               `json:"image,omitempty"`
	Verified       *bool                 `json:"verified,omitempty"`
	AcceptedRisks  *string               `json:"acceptedRisks,omitempty"`
}

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

// 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 *UpdateHistoryApplyConfiguration) WithState(value configv1.UpdateState) *UpdateHistoryApplyConfiguration {
	b.State = &value
	return b
}

// WithStartedTime sets the StartedTime 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 StartedTime field is set to the value of the last call.
func (b *UpdateHistoryApplyConfiguration) WithStartedTime(value metav1.Time) *UpdateHistoryApplyConfiguration {
	b.StartedTime = &value
	return b
}

// WithCompletionTime sets the CompletionTime 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 CompletionTime field is set to the value of the last call.
func (b *UpdateHistoryApplyConfiguration) WithCompletionTime(value metav1.Time) *UpdateHistoryApplyConfiguration {
	b.CompletionTime = &value
	return b
}

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

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

// WithVerified sets the Verified 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 Verified field is set to the value of the last call.
func (b *UpdateHistoryApplyConfiguration) WithVerified(value bool) *UpdateHistoryApplyConfiguration {
	b.Verified = &value
	return b
}

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