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

package v1

import (
	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)

// ImageChangeTriggerStatusApplyConfiguration represents a declarative configuration of the ImageChangeTriggerStatus type for use
// with apply.
//
// ImageChangeTriggerStatus tracks the latest resolved status of the associated ImageChangeTrigger policy
// specified in the BuildConfigSpec.Triggers struct.
type ImageChangeTriggerStatusApplyConfiguration struct {
	// lastTriggeredImageID represents the sha/id of the ImageStreamTag when a Build for this BuildConfig was started.
	// The lastTriggeredImageID is updated each time a Build for this BuildConfig is started, even if this ImageStreamTag is not the reason the Build is started.
	LastTriggeredImageID *string `json:"lastTriggeredImageID,omitempty"`
	// from is the ImageStreamTag that is the source of the trigger.
	From *ImageStreamTagReferenceApplyConfiguration `json:"from,omitempty"`
	// lastTriggerTime is the last time this particular ImageStreamTag triggered a Build to start.
	// This field is only updated when this trigger specifically started a Build.
	LastTriggerTime *metav1.Time `json:"lastTriggerTime,omitempty"`
}

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

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

// WithFrom sets the From 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 From field is set to the value of the last call.
func (b *ImageChangeTriggerStatusApplyConfiguration) WithFrom(value *ImageStreamTagReferenceApplyConfiguration) *ImageChangeTriggerStatusApplyConfiguration {
	b.From = value
	return b
}

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