Source:
<code>default void inputDetail() { mandatory(cluster().name()); or(mandatory(cluster().dataCenter().id()), mandatory(cluster().dataCenter().name())); optional(cluster().version().major()); optional(cluster().version().minor()); optional(cluster().cpu().type()); optional(cluster().ballooningEnabled()); optional(cluster().comment()); optional(cluster().cpu().architecture()); optional(cluster().description()); optional(cluster().display().proxy()); optional(cluster().errorHandling().onError()); optional(cluster().fencingPolicy().enabled()); optional(cluster().fencingPolicy().skipIfConnectivityBroken().enabled()); optional(cluster().fencingPolicy().skipIfConnectivityBroken().threshold()); optional(cluster().fencingPolicy().skipIfSdActive().enabled()); optional(cluster().glusterService()); optional(cluster().haReservation()); optional(cluster().ksm().enabled()); optional(cluster().ksm().mergeAcrossNodes()); optional(cluster().maintenanceReasonRequired()); optional(cluster().memoryPolicy().overCommit().percent()); optional(cluster().memoryPolicy().transparentHugePages().enabled()); optional(cluster().threadsAsCores()); optional(cluster().trustedService()); optional(cluster().tunnelMigration()); optional(cluster().virtService()); or(optional(cluster().managementNetwork().id()), optional(cluster().managementNetwork().name())); or(optional(cluster().schedulingPolicy().id()), optional(cluster().schedulingPolicy().name())); <START> optional(cluster().defaultNetworkProvider()); <END> }</code><technical_language>This means <default_network_provider> is optional. id name of provider? need provided? meant this: or(optional(cluster().defaultNetworkProvider().id()), optional(cluster().defaultNetworkProvider().name()))</technical_language>

Target:
default void inputDetail() { mandatory(cluster().name()); or(mandatory(cluster().dataCenter().id()), mandatory(cluster().dataCenter().name())); optional(cluster().version().major()); optional(cluster().version().minor()); optional(cluster().cpu().type()); optional(cluster().ballooningEnabled()); optional(cluster().comment()); optional(cluster().cpu().architecture()); optional(cluster().description()); optional(cluster().display().proxy()); optional(cluster().errorHandling().onError()); optional(cluster().fencingPolicy().enabled()); optional(cluster().fencingPolicy().skipIfConnectivityBroken().enabled()); optional(cluster().fencingPolicy().skipIfConnectivityBroken().threshold()); optional(cluster().fencingPolicy().skipIfSdActive().enabled()); optional(cluster().glusterService()); optional(cluster().haReservation()); optional(cluster().ksm().enabled()); optional(cluster().ksm().mergeAcrossNodes()); optional(cluster().maintenanceReasonRequired()); optional(cluster().memoryPolicy().overCommit().percent()); optional(cluster().memoryPolicy().transparentHugePages().enabled()); optional(cluster().threadsAsCores()); optional(cluster().trustedService()); optional(cluster().tunnelMigration()); optional(cluster().virtService()); or(optional(cluster().managementNetwork().id()), optional(cluster().managementNetwork().name())); or(optional(cluster().schedulingPolicy().id()), optional(cluster().schedulingPolicy().name())); optional(cluster().externalNetworkProviders()[COLLECTION].id()); }