public void ValidateTestConfiguration(PSNetworkWatcherConnectionMonitorTestConfigurationObject testConfiguration) { if (string.IsNullOrEmpty(testConfiguration.Name)) { throw new PSArgumentException(Properties.Resources.ConnectionMonitorTestConfigurationMustHaveName); } this.ValidateProtocolConfiguration(testConfiguration.ProtocolConfiguration); this.ValidateTestFrequency(testConfiguration.TestFrequencySec); this.ValidateSucessThreshold(testConfiguration.SuccessThreshold); this.ValidatePreferredIPVersion(testConfiguration.PreferredIPVersion); }
private ConnectionMonitorSuccessThreshold GetSuccessThreshold(PSNetworkWatcherConnectionMonitorTestConfigurationObject testConfiguration) { if (testConfiguration.SuccessThreshold == null) { return(null); } return(new ConnectionMonitorSuccessThreshold() { ChecksFailedPercent = testConfiguration.SuccessThreshold.ChecksFailedPercent, RoundTripTimeMs = testConfiguration.SuccessThreshold.RoundTripTimeMs }); }
public override void Execute() { base.Execute(); PSNetworkWatcherConnectionMonitorTestConfigurationObject testConfiguration = new PSNetworkWatcherConnectionMonitorTestConfigurationObject() { Name = this.Name, TestFrequencySec = this.TestFrequencySec, PreferredIPVersion = this.PreferredIPVersion, SuccessThreshold = GetSuccessThreshold(), ProtocolConfiguration = this.ProtocolConfiguration }; this.ValidateTestConfiguration(testConfiguration); WriteObject(testConfiguration); }
private int GetDestinationPort(PSNetworkWatcherConnectionMonitorTestConfigurationObject testConfiguration) { if (testConfiguration == null) { return(0); } if (testConfiguration.ProtocolConfiguration is PSNetworkWatcherConnectionMonitorTcpConfiguration tcpConfiguration) { return(tcpConfiguration.Port == null ? 0 : (int)tcpConfiguration.Port); } if (testConfiguration.ProtocolConfiguration is PSNetworkWatcherConnectionMonitorHttpConfiguration httpConfiguration) { return(httpConfiguration.Port == null ? 0 : (int)httpConfiguration.Port); } return(0); }
public PSConnectionMonitorResultV2 MapConnectionMonitorResultToPSConnectionMonitorResultV2(ConnectionMonitorResult connectionMonitor) { PSConnectionMonitorResultV2 psConnectionMonitor = new PSConnectionMonitorResultV2() { Name = connectionMonitor.Name, Id = connectionMonitor.Id, Etag = connectionMonitor.Etag, ProvisioningState = connectionMonitor.ProvisioningState, Type = connectionMonitor.Type, Location = connectionMonitor.Location, StartTime = connectionMonitor.StartTime, Tags = new Dictionary <string, string>(), ConnectionMonitorType = connectionMonitor.ConnectionMonitorType, Notes = connectionMonitor.Notes, TestGroups = new List <PSNetworkWatcherConnectionMonitorTestGroupObject>() }; if (connectionMonitor.Tags != null) { foreach (KeyValuePair <string, string> KeyValue in connectionMonitor.Tags) { psConnectionMonitor.Tags.Add(KeyValue.Key, KeyValue.Value); } } if (connectionMonitor.Outputs != null) { psConnectionMonitor.Outputs = new List <PSNetworkWatcherConnectionMonitorOutputObject>(); foreach (ConnectionMonitorOutput output in connectionMonitor.Outputs) { psConnectionMonitor.Outputs.Add( new PSNetworkWatcherConnectionMonitorOutputObject() { Type = output.Type, WorkspaceSettings = new PSConnectionMonitorWorkspaceSettings() { WorkspaceResourceId = output.WorkspaceSettings?.WorkspaceResourceId } }); } } if (connectionMonitor.TestGroups != null) { foreach (ConnectionMonitorTestGroup testGroup in connectionMonitor.TestGroups) { PSNetworkWatcherConnectionMonitorTestGroupObject testGroupObject = new PSNetworkWatcherConnectionMonitorTestGroupObject() { Name = testGroup.Name, Disable = testGroup.Disable, TestConfigurations = new List <PSNetworkWatcherConnectionMonitorTestConfigurationObject>(), Sources = new List <PSNetworkWatcherConnectionMonitorEndpointObject>(), Destinations = new List <PSNetworkWatcherConnectionMonitorEndpointObject>() }; if (testGroup.Sources != null) { foreach (string sourceEndpointName in testGroup.Sources) { ConnectionMonitorEndpoint sourceEndpoint = GetEndpoinByName(connectionMonitor.Endpoints, sourceEndpointName); PSNetworkWatcherConnectionMonitorEndpointObject EndpointObject = NetworkResourceManagerProfile.Mapper.Map <PSNetworkWatcherConnectionMonitorEndpointObject>(sourceEndpoint); testGroupObject.Sources.Add(EndpointObject); } } if (testGroup.Destinations != null) { foreach (string destinationEndpointName in testGroup.Destinations) { ConnectionMonitorEndpoint destinationEndpoint = GetEndpoinByName(connectionMonitor.Endpoints, destinationEndpointName); PSNetworkWatcherConnectionMonitorEndpointObject EndpointObject = NetworkResourceManagerProfile.Mapper.Map <PSNetworkWatcherConnectionMonitorEndpointObject>(destinationEndpoint); testGroupObject.Destinations.Add(EndpointObject); } } // Test Configuration if (testGroup.TestConfigurations != null) { foreach (string testConfigurationName in testGroup.TestConfigurations) { ConnectionMonitorTestConfiguration testConfiguration = GetTestConfigurationByName(connectionMonitor.TestConfigurations, testConfigurationName); PSNetworkWatcherConnectionMonitorTestConfigurationObject testConfigurationObject = new PSNetworkWatcherConnectionMonitorTestConfigurationObject() { Name = testConfiguration.Name, PreferredIPVersion = testConfiguration.PreferredIPVersion, TestFrequencySec = testConfiguration.TestFrequencySec, SuccessThreshold = testConfiguration.SuccessThreshold == null ? null : new PSNetworkWatcherConnectionMonitorSuccessThreshold() { ChecksFailedPercent = testConfiguration.SuccessThreshold.ChecksFailedPercent, RoundTripTimeMs = testConfiguration.SuccessThreshold.RoundTripTimeMs }, ProtocolConfiguration = this.GetPSProtocolConfiguration(testConfiguration) }; testGroupObject.TestConfigurations.Add(testConfigurationObject); } } psConnectionMonitor.TestGroups.Add(testGroupObject); } } return(psConnectionMonitor); }