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

package v1

// HubSourceStatusApplyConfiguration represents a declarative configuration of the HubSourceStatus type for use
// with apply.
//
// HubSourceStatus is used to reflect the current state of applying the
// configuration to a default source
type HubSourceStatusApplyConfiguration struct {
	*HubSourceApplyConfiguration `json:"HubSource,omitempty"`
	// status indicates success or failure in applying the configuration
	Status *string `json:"status,omitempty"`
	// message provides more information regarding failures
	Message *string `json:"message,omitempty"`
}

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

// WithName sets the Name 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 Name field is set to the value of the last call.
func (b *HubSourceStatusApplyConfiguration) WithName(value string) *HubSourceStatusApplyConfiguration {
	b.ensureHubSourceApplyConfigurationExists()
	b.HubSourceApplyConfiguration.Name = &value
	return b
}

// WithDisabled sets the Disabled 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 Disabled field is set to the value of the last call.
func (b *HubSourceStatusApplyConfiguration) WithDisabled(value bool) *HubSourceStatusApplyConfiguration {
	b.ensureHubSourceApplyConfigurationExists()
	b.HubSourceApplyConfiguration.Disabled = &value
	return b
}

func (b *HubSourceStatusApplyConfiguration) ensureHubSourceApplyConfigurationExists() {
	if b.HubSourceApplyConfiguration == nil {
		b.HubSourceApplyConfiguration = &HubSourceApplyConfiguration{}
	}
}

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

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