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

package v1

// GitHubWebHookCauseApplyConfiguration represents a declarative configuration of the GitHubWebHookCause type for use
// with apply.
//
// GitHubWebHookCause has information about a GitHub webhook that triggered a
// build.
type GitHubWebHookCauseApplyConfiguration struct {
	// revision is the git revision information of the trigger.
	Revision *SourceRevisionApplyConfiguration `json:"revision,omitempty"`
	// secret is the obfuscated webhook secret that triggered a build.
	Secret *string `json:"secret,omitempty"`
}

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

// WithRevision sets the Revision 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 Revision field is set to the value of the last call.
func (b *GitHubWebHookCauseApplyConfiguration) WithRevision(value *SourceRevisionApplyConfiguration) *GitHubWebHookCauseApplyConfiguration {
	b.Revision = value
	return b
}

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