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

package v1

// NetworkMigrationApplyConfiguration represents a declarative configuration of the NetworkMigration type for use
// with apply.
//
// NetworkMigration represents the network migration status.
type NetworkMigrationApplyConfiguration struct {
	// networkType is the target plugin that is being deployed.
	// DEPRECATED: network type migration is no longer supported,
	// so this should always be unset.
	NetworkType *string `json:"networkType,omitempty"`
	// mtu is the MTU configuration that is being deployed.
	MTU *MTUMigrationApplyConfiguration `json:"mtu,omitempty"`
}

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

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

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