func NewMachineAddress(value string, options ...func(AddressMutator)) MachineAddress {
	addr := MachineAddress{
		Value: value,
		Type:  DeriveAddressType(value),
		Scope: ScopeUnknown,
	}

	for _, option := range options {
		option(&addr)
	}

	if addr.Scope == ScopeUnknown {
		addr.Scope = deriveScope(addr)
	}

	return addr
}
// NewMachineAddress creates a new MachineAddress,
// applying any supplied options to the result.
NewMachineAddress creates a new MachineAddress,
applying any supplied options to the result.
// NewMachineAddress creates a new MachineAddress // applying any supplied options to the result .
func NewMachineAddress(value string, options ...func(AddressMutator)) MachineAddress {
	addr := MachineAddress{
		Value: value,
		Type:  DeriveAddressType(value),
		Scope: ScopeUnknown,
	}
	for _, option := range options {
		option(&addr)
	}
	if addr.Scope == ScopeUnknown {
		addr.Scope = deriveScope(addr)
	}
	return addr
}
func NewMachineAddress ( value string , options ... func ( AddressMutator ) ) MachineAddress { addr := MachineAddress { Value : value , Type : DeriveAddressType ( value ) , Scope : ScopeUnknown , } for _ , option := range options { option ( & addr ) } if addr . Scope == ScopeUnknown { addr . Scope = deriveScope ( addr ) } return addr }
NewMachineAddress creates a new MachineAddress,
applying any supplied options to the result.
NewMachineAddress creates a new MachineAddress applying any supplied options to the result .