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

package v1

// GitSourceRevisionApplyConfiguration represents a declarative configuration of the GitSourceRevision type for use
// with apply.
//
// GitSourceRevision is the commit information from a git source for a build
type GitSourceRevisionApplyConfiguration struct {
	// commit is the commit hash identifying a specific commit
	Commit *string `json:"commit,omitempty"`
	// author is the author of a specific commit
	Author *SourceControlUserApplyConfiguration `json:"author,omitempty"`
	// committer is the committer of a specific commit
	Committer *SourceControlUserApplyConfiguration `json:"committer,omitempty"`
	// message is the description of a specific commit
	Message *string `json:"message,omitempty"`
}

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

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

// WithAuthor sets the Author 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 Author field is set to the value of the last call.
func (b *GitSourceRevisionApplyConfiguration) WithAuthor(value *SourceControlUserApplyConfiguration) *GitSourceRevisionApplyConfiguration {
	b.Author = value
	return b
}

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