public void Validate(HiveDefinition hiveDefinition) { Covenant.Requires <ArgumentNullException>(hiveDefinition != null); HostXvaUri = HostXvaUri ?? defaultHostXvaUri; TemplateName = TemplateName ?? defaultTemplate; StorageRepository = StorageRepository ?? defaultStorageRepository; OsdStorageRepository = OsdStorageRepository ?? defaultStorageRepository; if (!hiveDefinition.Network.StaticIP) { throw new HiveDefinitionException($"[{nameof(NetworkOptions)}.{nameof(NetworkOptions.StaticIP)}] must be [true] when deploying to XenServer."); } if (string.IsNullOrEmpty(HostXvaUri) || !Uri.TryCreate(HostXvaUri, UriKind.Absolute, out Uri uri)) { throw new HiveDefinitionException($"[{nameof(XenServerOptions)}.{nameof(HostXvaUri)}] is required when deploying to XenServer."); } if (string.IsNullOrEmpty(StorageRepository)) { throw new HiveDefinitionException($"[{nameof(XenServerOptions)}.{nameof(StorageRepository)}] is required when deploying to XenServer."); } if (string.IsNullOrEmpty(OsdStorageRepository)) { OsdStorageRepository = StorageRepository; } hiveDefinition.ValidatePrivateNodeAddresses(); // Private node IP addresses must be assigned and valid. hiveDefinition.Hosting.ValidateHypervisor(hiveDefinition, remoteHypervisors: true); // Hypervisor options must be valid. }
public void Validate(HiveDefinition hiveDefinition) { Covenant.Requires <ArgumentNullException>(hiveDefinition != null); if (!hiveDefinition.Network.StaticIP) { throw new HiveDefinitionException($"[{nameof(NetworkOptions)}.{nameof(NetworkOptions.StaticIP)}] must be [true] when deploying to Hyper-V."); } if (string.IsNullOrEmpty(HostVhdxUri) || !Uri.TryCreate(HostVhdxUri, UriKind.Absolute, out Uri uri)) { throw new HiveDefinitionException($"[{nameof(LocalHyperVOptions)}.{nameof(HostVhdxUri)}] is required when deploying to Hyper-V."); } hiveDefinition.ValidatePrivateNodeAddresses(); // Private node IP addresses must be assigned and valid. hiveDefinition.Hosting.ValidateHypervisor(hiveDefinition, remoteHypervisors: false); // Hypervisor options must be valid. }
public void Validate(HiveDefinition hiveDefinition) { Covenant.Requires <ArgumentNullException>(hiveDefinition != null); hiveDefinition.ValidatePrivateNodeAddresses(); // Private node IP addresses must be assigned and valid. }