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

package v1

// MTUMigrationApplyConfiguration represents a declarative configuration of the MTUMigration type for use
// with apply.
//
// MTUMigration contains infomation about MTU migration.
type MTUMigrationApplyConfiguration struct {
	// network contains MTU migration configuration for the default network.
	Network *MTUMigrationValuesApplyConfiguration `json:"network,omitempty"`
	// machine contains MTU migration configuration for the machine's uplink.
	Machine *MTUMigrationValuesApplyConfiguration `json:"machine,omitempty"`
}

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

// WithNetwork sets the Network 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 Network field is set to the value of the last call.
func (b *MTUMigrationApplyConfiguration) WithNetwork(value *MTUMigrationValuesApplyConfiguration) *MTUMigrationApplyConfiguration {
	b.Network = value
	return b
}

// WithMachine sets the Machine 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 Machine field is set to the value of the last call.
func (b *MTUMigrationApplyConfiguration) WithMachine(value *MTUMigrationValuesApplyConfiguration) *MTUMigrationApplyConfiguration {
	b.Machine = value
	return b
}
