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

package v1alpha1

import (
	operatorv1alpha1 "github.com/openshift/api/operator/v1alpha1"
)

// ClusterAPIInstallerComponentImageApplyConfiguration represents a declarative configuration of the ClusterAPIInstallerComponentImage type for use
// with apply.
//
// ClusterAPIInstallerComponentImage defines an image source for a component.
type ClusterAPIInstallerComponentImageApplyConfiguration struct {
	// ref is an image reference to the image containing the component manifests. The reference
	// must be a valid image digest reference in the format host[:port][/namespace]/name@sha256:<digest>.
	// The digest must be 64 characters long, and consist only of lowercase hexadecimal characters, a-f and 0-9.
	// The length of the field must be between 1 to 447 characters.
	Ref *operatorv1alpha1.ImageDigestFormat `json:"ref,omitempty"`
	// profile is the name of a profile to use from the image.
	//
	// A profile name may be up to 255 characters long. It must consist of alphanumeric characters, '-', or '_'.
	Profile *string `json:"profile,omitempty"`
}

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

// WithRef sets the Ref 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 Ref field is set to the value of the last call.
func (b *ClusterAPIInstallerComponentImageApplyConfiguration) WithRef(value operatorv1alpha1.ImageDigestFormat) *ClusterAPIInstallerComponentImageApplyConfiguration {
	b.Ref = &value
	return b
}

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