/// <summary> /// Initializes a new instance of the <see cref="NewAlarmConfiguration"/> class with the specified /// values. /// </summary> /// <param name="checkId">The ID of the check to alert on. This is obtained from <see cref="Check.Id">Check.Id</see>.</param> /// <param name="notificationPlanId">The ID of the notification plan to execute when the state changes. This is obtained from <see cref="NotificationPlan.Id">NotificationPlan.Id</see>.</param> /// <param name="criteria">The <see href="http://docs.rackspace.com/cm/api/v1.0/cm-devguide/content/alerts-language.html">alarm DSL</see> for describing alerting conditions and their output states.</param> /// <param name="enabled"><see langword="true"/> to enable processing and alerts on this alarm; otherwise, <see langword="false"/>. If this value is <see langword="null"/>, <placeholder/>.</param> /// <param name="label">A friendly label for the alarm.</param> /// <param name="metadata">A collection of metadata to associate with the alarm.</param> /// <exception cref="ArgumentNullException"> /// If <paramref name="checkId"/> is <see langword="null"/>. /// <para>-or-</para> /// <para>If <paramref name="notificationPlanId"/> is <see langword="null"/>.</para> /// </exception> /// <exception cref="ArgumentException"> /// If <paramref name="metadata"/> contains any values with empty keys. /// </exception> public NewAlarmConfiguration(CheckId checkId, NotificationPlanId notificationPlanId, string criteria = null, bool? enabled = null, string label = null, IDictionary<string, string> metadata = null) : base(checkId, notificationPlanId, criteria, enabled, label, metadata) { if (checkId == null) throw new ArgumentNullException("checkId"); if (notificationPlanId == null) throw new ArgumentNullException("notificationPlanId"); }
/// <summary> /// Initializes a new instance of the <see cref="AlarmConfiguration"/> class with the specified /// values. /// </summary> /// <param name="checkId">The ID of the check to alert on. This is obtained from <see cref="Check.Id">Check.Id</see>. If this value is <see langword="null"/>, the underlying property will be omitted from the JSON representation of the object.</param> /// <param name="notificationPlanId">The ID of the notification plan to execute when the state changes. This is obtained from <see cref="NotificationPlan.Id">NotificationPlan.Id</see>. If this value is <see langword="null"/>, the underlying property will be omitted from the JSON representation of the object.</param> /// <param name="criteria">The <see href="http://docs.rackspace.com/cm/api/v1.0/cm-devguide/content/alerts-language.html">alarm DSL</see> for describing alerting conditions and their output states. If this value is <see langword="null"/>, the underlying property will be omitted from the JSON representation of the object.</param> /// <param name="enabled"><see langword="true"/> to enable processing and alerts on this alarm; otherwise, <see langword="false"/>. If this value is <see langword="null"/>, the underlying property will be omitted from the JSON representation of the object.</param> /// <param name="label">A friendly label for the alarm. If this value is <see langword="null"/>, the underlying property will be omitted from the JSON representation of the object.</param> /// <param name="metadata">A collection of metadata to associate with the alarm. If this value is <see langword="null"/>, the underlying property will be omitted from the JSON representation of the object.</param> /// <exception cref="ArgumentException"> /// If <paramref name="metadata"/> contains any values with empty keys. /// </exception> protected AlarmConfiguration(CheckId checkId, NotificationPlanId notificationPlanId, string criteria, bool? enabled, string label, IDictionary<string, string> metadata) { if (metadata != null && metadata.ContainsKey(string.Empty)) throw new ArgumentException("metadata cannot contain any empty keys", "metadata"); _checkId = checkId; _notificationPlanId = notificationPlanId; _criteria = criteria; _disabled = !enabled; _label = label; _metadata = metadata; }
public ReplicationCheck(string title, CheckId checkId, LocalizedString description, CheckCategory category, IEventManager eventManager, string momEventSource, string serverName, uint?ignoreTransientErrorsThreshold) { this.m_Title = title; this.m_checkId = checkId; this.m_Description = description; this.m_Category = category; this.m_ServerName = serverName; this.m_EventManager = eventManager; this.m_checkResultInfo = new ReplicationCheckResultInfo(this); uint?num = ignoreTransientErrorsThreshold; this.m_ignoreTransientErrorsThreshold = ((num != null) ? new uint?(num.GetValueOrDefault()) : new uint?(0U)); }
public bool Equals(RuleModel other) { if (other is null) { return(false); } if (ReferenceEquals(this, other)) { return(true); } return(CheckId.Equals(other.CheckId) && Category.Equals(other.Category) && TypeName.Equals(other.TypeName)); }
public static bool TryGetReplicationEventInfo(CheckId checkId, ReplicationCheckResultEnum result, out ReplicationEventBaseInfo eventInfo) { eventInfo = null; if (ReplicationEventLookupTable.s_checksEventTable.ContainsKey((int)checkId)) { if (ReplicationEventLookupTable.s_checksEventTable[(int)checkId].ContainsKey((int)result)) { eventInfo = ReplicationEventLookupTable.s_checksEventTable[(int)checkId][(int)result]; return(true); } DiagCore.RetailAssert(false, "Missing event entry for CheckId {0} and result {1}.", new object[] { checkId, result }); } return(false); }
public void LogEvents(CheckId checkId, ReplicationCheckResultEnum result, List <MessageInfo> messages) { ReplicationEventBaseInfo replicationEventBaseInfo = null; if (!ReplicationEventLookupTable.TryGetReplicationEventInfo(checkId, result, out replicationEventBaseInfo)) { ExTraceGlobals.HealthChecksTracer.TraceDebug <CheckId, ReplicationCheckResultEnum>((long)this.GetHashCode(), "LogEvents(): Could not find ReplicationEventBaseInfo for Check '{0}' with Result '{1}'.", checkId, result); return; } if (replicationEventBaseInfo.EventType == ReplicationEventType.Null) { ExTraceGlobals.HealthChecksTracer.TraceDebug <CheckId, ReplicationCheckResultEnum>((long)this.GetHashCode(), "LogEvents(): NullEventInfo encountered for check {0} and result {1}. No event will be logged.", checkId, result); return; } if (replicationEventBaseInfo.EventType != ReplicationEventType.MOM) { if (replicationEventBaseInfo.EventType == ReplicationEventType.AppLog) { bool flag = false; Dictionary <string, ReplicationEvent> dictionary = null; if (!this.m_AppLogSingleEvents.TryGetValue((int)checkId, out dictionary)) { dictionary = new Dictionary <string, ReplicationEvent>(); flag = true; } foreach (MessageInfo messageInfo in messages) { if (messageInfo.IsTransitioningState) { ReplicationEvent replicationEvent = new ReplicationEvent(replicationEventBaseInfo); replicationEvent.AddEvent(messageInfo.Message); dictionary[messageInfo.InstanceIdentity] = replicationEvent; } } if (flag) { this.m_AppLogSingleEvents[(int)checkId] = dictionary; return; } } else { DiagCore.RetailAssert(false, "Unhandled ReplicationEventType!", new object[0]); } return; } int momEventId = ((MomEventInfo)replicationEventBaseInfo).MomEventId; string eventMessage = this.BuildErrorMessageForMomEvent(messages); ReplicationEvent replicationEvent2; if (this.m_MomEvents.TryGetValue(momEventId, out replicationEvent2)) { ExTraceGlobals.HealthChecksTracer.TraceDebug <int>((long)this.GetHashCode(), "LogEvent(): Attempting to add another eventId {0}, having logged it already.", momEventId); replicationEvent2.AddEvent(eventMessage); return; } ExTraceGlobals.HealthChecksTracer.TraceDebug <int>((long)this.GetHashCode(), "LogEvent(): Attempting to add eventId {0} for the first time.", momEventId); replicationEvent2 = new ReplicationEvent(replicationEventBaseInfo); replicationEvent2.AddEvent(eventMessage); this.m_MomEvents[momEventId] = replicationEvent2; }
/// <summary> /// Gets a collection of monitoring metrics. /// </summary> /// <param name="service">The monitoring service instance.</param> /// <param name="entityId">The entity ID. This is obtained from <see cref="Entity.Id">Entity.Id</see>.</param> /// <param name="checkId">The check ID. This is obtained from <see cref="Check.Id">Check.Id</see>.</param> /// <param name="marker">A marker identifying the next page of results. This parameter is used for <see href="http://docs.rackspace.com/cm/api/v1.0/cm-devguide/content/api-paginated-collections.html">pagination</see>, and is obtained from <see cref="ReadOnlyCollectionPage{T, TMarker}.NextMarker"/>. If the value is <see langword="null"/>, the list starts at the beginning.</param> /// <param name="limit">The maximum number of items to include in a single page of results. This parameter is used for <see href="http://docs.rackspace.com/cm/api/v1.0/cm-devguide/content/api-paginated-collections.html">pagination</see>. If the value is <see langword="null"/>, a provider-specific default value is used.</param> /// <returns> /// A <see cref="ReadOnlyCollectionPage{T, TMarker}"/> object containing the page /// of results and its associated pagination metadata. /// </returns> /// <exception cref="ArgumentNullException">If <paramref name="service"/> is <see langword="null"/>.</exception> /// <exception cref="ArgumentNullException"> /// If <paramref name="entityId"/> is <see langword="null"/>. /// <para>-or-</para> /// <para>If <paramref name="checkId"/> is <see langword="null"/>.</para> /// </exception> /// <exception cref="ArgumentOutOfRangeException">If <paramref name="limit"/> is less than or equal to 0.</exception> /// <exception cref="WebException">If the REST request does not return successfully.</exception> /// <seealso href="http://docs.rackspace.com/cm/api/v1.0/cm-devguide/content/metrics-api.html#list-metrics">List Metrics (Rackspace Cloud Monitoring Developer Guide - API v1.0)</seealso> /// <seealso href="http://docs.rackspace.com/cm/api/v1.0/cm-devguide/content/api-paginated-collections.html">Paginated Collections (Rackspace Cloud Monitoring Developer Guide - API v1.0)</seealso> public static ReadOnlyCollectionPage<Metric, MetricName> ListMetrics(this IMonitoringService service, EntityId entityId, CheckId checkId, MetricName marker, int? limit) { if (service == null) throw new ArgumentNullException("service"); try { return service.ListMetricsAsync(entityId, checkId, marker, limit, CancellationToken.None).Result; } catch (AggregateException ex) { ReadOnlyCollection<Exception> innerExceptions = ex.Flatten().InnerExceptions; if (innerExceptions.Count == 1) throw innerExceptions[0]; throw; } }
/// <summary> /// Gets a collection of data points collected for a metric by the monitoring service. /// </summary> /// <param name="service">The monitoring service instance.</param> /// <param name="entityId">The entity ID. This is obtained from <see cref="Entity.Id">Entity.Id</see>.</param> /// <param name="checkId">The check ID. This is obtained from <see cref="Check.Id">Check.Id</see>.</param> /// <param name="metricName">The metric name. This is obtained from <see cref="Metric.Name">Metric.Name</see>.</param> /// <param name="points">The number of data points to return.</param> /// <param name="resolution">The granularity of the returned data points.</param> /// <param name="select">A collection of <see cref="DataPointStatistic"/> objects identifying the statistics to compute for the data.</param> /// <param name="from">The beginning timestamp of the items to include in the collection. This parameter is used for <see href="http://docs.rackspace.com/cm/api/v1.0/cm-devguide/content/api-time-series-collections.html">time series collections</see>.</param> /// <param name="to">The ending timestamp of the items to include in the collection. This parameter is used for <see href="http://docs.rackspace.com/cm/api/v1.0/cm-devguide/content/api-time-series-collections.html">time series collections</see>.</param> /// <returns> /// A collection of <see cref="DataPoint"/> objects describing the data points /// collected for the metric. /// </returns> /// <exception cref="ArgumentNullException">If <paramref name="service"/> is <see langword="null"/>.</exception> /// <exception cref="ArgumentNullException"> /// If <paramref name="entityId"/> is <see langword="null"/>. /// <para>-or-</para> /// <para>If <paramref name="checkId"/> is <see langword="null"/>.</para> /// <para>-or-</para> /// <para>If <paramref name="metricName"/> is <see langword="null"/>.</para> /// </exception> /// <exception cref="ArgumentException"> /// If both <paramref name="points"/> and <paramref name="resolution"/> are <see langword="null"/>. /// <para>-or-</para> /// <para>If <paramref name="to"/> occurs before <paramref name="from"/>.</para> /// </exception> /// <exception cref="ArgumentOutOfRangeException"> /// If <paramref name="points"/> is less than or equal to 0. /// <para>-or-</para> /// <para>If <paramref name="from"/> represents a date before January 1, 1970 UTC.</para> /// <para>-or-</para> /// <para>If <paramref name="to"/> represents a date before January 1, 1970 UTC.</para> /// </exception> /// <exception cref="WebException">If the REST request does not return successfully.</exception> /// <seealso href="http://docs.rackspace.com/cm/api/v1.0/cm-devguide/content/metrics-api.html#fetch-data-points">Fetch Data Points (Rackspace Cloud Monitoring Developer Guide - API v1.0)</seealso> public static ReadOnlyCollection<DataPoint> GetDataPoints(this IMonitoringService service, EntityId entityId, CheckId checkId, MetricName metricName, int? points, DataPointGranularity resolution, IEnumerable<DataPointStatistic> select, DateTimeOffset from, DateTimeOffset to) { if (service == null) throw new ArgumentNullException("service"); try { return service.GetDataPointsAsync(entityId, checkId, metricName, points, resolution, select, from, to, CancellationToken.None).Result; } catch (AggregateException ex) { ReadOnlyCollection<Exception> innerExceptions = ex.Flatten().InnerExceptions; if (innerExceptions.Count == 1) throw innerExceptions[0]; throw; } }
/// <summary> /// Test an existing check by ID. /// </summary> /// <param name="service">The monitoring service instance.</param> /// <param name="entityId">The entity ID. This is obtained from <see cref="Entity.Id">Entity.Id</see>.</param> /// <param name="checkId">The check ID. This is obtained from <see cref="Check.Id">Check.Id</see>.</param> /// <returns>A collection <see cref="CheckData"/> objects describing the test results.</returns> /// <exception cref="ArgumentNullException">If <paramref name="service"/> is <see langword="null"/>.</exception> /// <exception cref="ArgumentNullException"> /// If <paramref name="entityId"/> is <see langword="null"/>. /// <para>-or-</para> /// <para>If <paramref name="checkId"/> is <see langword="null"/>.</para> /// </exception> /// <exception cref="WebException">If the REST request does not return successfully.</exception> /// <seealso href="http://docs.rackspace.com/cm/api/v1.0/cm-devguide/content/service-checks.html#service-checks-test-existing">Test Existing Check (Rackspace Cloud Monitoring Developer Guide - API v1.0)</seealso> public static ReadOnlyCollection<CheckData> TestExistingCheck(this IMonitoringService service, EntityId entityId, CheckId checkId) { if (service == null) throw new ArgumentNullException("service"); try { return service.TestExistingCheckAsync(entityId, checkId, CancellationToken.None).Result; } catch (AggregateException ex) { ReadOnlyCollection<Exception> innerExceptions = ex.Flatten().InnerExceptions; if (innerExceptions.Count == 1) throw innerExceptions[0]; throw; } }
/// <summary> /// Remove and delete a monitoring check by ID. /// </summary> /// <param name="service">The monitoring service instance.</param> /// <param name="entityId">The entity ID. This is obtained from <see cref="Entity.Id">Entity.Id</see>.</param> /// <param name="checkId">The check ID. This is obtained from <see cref="Check.Id">Check.Id</see>.</param> /// <exception cref="ArgumentNullException">If <paramref name="service"/> is <see langword="null"/>.</exception> /// <exception cref="ArgumentNullException"> /// If <paramref name="entityId"/> is <see langword="null"/>. /// <para>-or-</para> /// <para>If <paramref name="checkId"/> is <see langword="null"/>.</para> /// </exception> /// <exception cref="WebException">If the REST request does not return successfully.</exception> /// <seealso href="http://docs.rackspace.com/cm/api/v1.0/cm-devguide/content/service-checks.html#service-checks-delete">Delete Check (Rackspace Cloud Monitoring Developer Guide - API v1.0)</seealso> public static void RemoveCheck(this IMonitoringService service, EntityId entityId, CheckId checkId) { if (service == null) throw new ArgumentNullException("service"); try { service.RemoveCheckAsync(entityId, checkId, CancellationToken.None).Wait(); } catch (AggregateException ex) { ReadOnlyCollection<Exception> innerExceptions = ex.Flatten().InnerExceptions; if (innerExceptions.Count == 1) throw innerExceptions[0]; throw; } }
/// <summary> /// Gets a collection of monitoring alarm notification history items. /// </summary> /// <param name="service">The monitoring service instance.</param> /// <param name="entityId">The entity ID. This is obtained from <see cref="Entity.Id">Entity.Id</see>.</param> /// <param name="alarmId">The alarm ID. This is obtained from <see cref="Alarm.Id">Alarm.Id</see>.</param> /// <param name="checkId">The check ID. This is obtained from <see cref="Check.Id">Check.Id</see>.</param> /// <param name="marker">A marker identifying the next page of results. This parameter is used for <see href="http://docs.rackspace.com/cm/api/v1.0/cm-devguide/content/api-paginated-collections.html">pagination</see>, and is obtained from <see cref="ReadOnlyCollectionPage{T, TMarker}.NextMarker"/>. If the value is <see langword="null"/>, the list starts at the beginning.</param> /// <param name="limit">The maximum number of items to include in a single page of results. This parameter is used for <see href="http://docs.rackspace.com/cm/api/v1.0/cm-devguide/content/api-paginated-collections.html">pagination</see>. If the value is <see langword="null"/>, a provider-specific default value is used.</param> /// <param name="from">The beginning timestamp of the items to include in the collection. This parameter is used for <see href="http://docs.rackspace.com/cm/api/v1.0/cm-devguide/content/api-time-series-collections.html">time series collections</see>. If the value is <see langword="null"/>, a provider-specific default value is used.</param> /// <param name="to">The ending timestamp of the items to include in the collection. This parameter is used for <see href="http://docs.rackspace.com/cm/api/v1.0/cm-devguide/content/api-time-series-collections.html">time series collections</see>. If the value is <see langword="null"/>, the current time is used.</param> /// <returns> /// A <see cref="ReadOnlyCollectionPage{T, TMarker}"/> object containing the page /// of results and its associated pagination metadata. /// </returns> /// <exception cref="ArgumentNullException">If <paramref name="service"/> is <see langword="null"/>.</exception> /// <exception cref="ArgumentNullException"> /// If <paramref name="entityId"/> is <see langword="null"/>. /// <para>-or-</para> /// <para>If <paramref name="alarmId"/> is <see langword="null"/>.</para> /// <para>-or-</para> /// <para>If <paramref name="checkId"/> is <see langword="null"/>.</para> /// </exception> /// <exception cref="ArgumentException">If <paramref name="to"/> occurs before <paramref name="from"/>.</exception> /// <exception cref="ArgumentOutOfRangeException"> /// If <paramref name="limit"/> is less than or equal to 0. /// <para>-or-</para> /// <para>If <paramref name="from"/> represents a date before January 1, 1970 UTC.</para> /// <para>-or-</para> /// <para>If <paramref name="to"/> represents a date before January 1, 1970 UTC.</para> /// </exception> /// <exception cref="WebException">If the REST request does not return successfully.</exception> /// <seealso href="http://docs.rackspace.com/cm/api/v1.0/cm-devguide/content/service-alarm-notification-history.html#service-alarm-notification-history-list">List Alarm Notification History (Rackspace Cloud Monitoring Developer Guide - API v1.0)</seealso> /// <seealso href="http://docs.rackspace.com/cm/api/v1.0/cm-devguide/content/api-paginated-collections.html">Paginated Collections (Rackspace Cloud Monitoring Developer Guide - API v1.0)</seealso> /// <seealso href="http://docs.rackspace.com/cm/api/v1.0/cm-devguide/content/api-time-series-collections.html">Time Series Collections (Rackspace Cloud Monitoring Developer Guide - API v1.0)</seealso> public static ReadOnlyCollectionPage<AlarmNotificationHistoryItem, AlarmNotificationHistoryItemId> ListAlarmNotificationHistory(this IMonitoringService service, EntityId entityId, AlarmId alarmId, CheckId checkId, AlarmNotificationHistoryItemId marker, int? limit, DateTimeOffset? from, DateTimeOffset? to) { if (service == null) throw new ArgumentNullException("service"); try { return service.ListAlarmNotificationHistoryAsync(entityId, alarmId, checkId, marker, limit, from, to, CancellationToken.None).Result; } catch (AggregateException ex) { ReadOnlyCollection<Exception> innerExceptions = ex.Flatten().InnerExceptions; if (innerExceptions.Count == 1) throw innerExceptions[0]; throw; } }
/// <summary> /// Gets a monitoring alarm notification history item by ID. /// </summary> /// <param name="service">The monitoring service instance.</param> /// <param name="entityId">The entity ID. This is obtained from <see cref="Entity.Id">Entity.Id</see>.</param> /// <param name="alarmId">The alarm ID. This is obtained from <see cref="Alarm.Id">Alarm.Id</see>.</param> /// <param name="checkId">The check ID. This is obtained from <see cref="Check.Id">Check.Id</see>.</param> /// <param name="alarmNotificationHistoryItemId">The alarm notification history item ID. This is obtained from <see cref="AlarmNotificationHistoryItem.Id">AlarmNotificationHistoryItem.Id</see>.</param> /// <returns>An <see cref="AlarmNotificationHistoryItem"/> object describing the alarm notification history item.</returns> /// <exception cref="ArgumentNullException">If <paramref name="service"/> is <see langword="null"/>.</exception> /// <exception cref="ArgumentNullException"> /// If <paramref name="entityId"/> is <see langword="null"/>. /// <para>-or-</para> /// <para>If <paramref name="alarmId"/> is <see langword="null"/>.</para> /// <para>-or-</para> /// <para>If <paramref name="checkId"/> is <see langword="null"/>.</para> /// <para>-or-</para> /// <para>If <paramref name="alarmNotificationHistoryItemId"/> is <see langword="null"/>.</para> /// </exception> /// <exception cref="WebException">If the REST request does not return successfully.</exception> /// <seealso href="http://docs.rackspace.com/cm/api/v1.0/cm-devguide/content/service-alarm-notification-history.html#service-alarm-notification-history-get">Get Alarm Notification History (Rackspace Cloud Monitoring Developer Guide - API v1.0)</seealso> public static AlarmNotificationHistoryItem GetAlarmNotificationHistory(this IMonitoringService service, EntityId entityId, AlarmId alarmId, CheckId checkId, AlarmNotificationHistoryItemId alarmNotificationHistoryItemId) { if (service == null) throw new ArgumentNullException("service"); try { return service.GetAlarmNotificationHistoryAsync(entityId, alarmId, checkId, alarmNotificationHistoryItemId, CancellationToken.None).Result; } catch (AggregateException ex) { ReadOnlyCollection<Exception> innerExceptions = ex.Flatten().InnerExceptions; if (innerExceptions.Count == 1) throw innerExceptions[0]; throw; } }
public DagMemberCheck(string serverName, string title, CheckId checkId, LocalizedString description, CheckCategory checkCategory, IEventManager eventManager, string momeventsource, IADDatabaseAvailabilityGroup dag, bool fClusterLevelCheck) : this(serverName, title, checkId, description, checkCategory, eventManager, momeventsource, null, dag, fClusterLevelCheck) { }
public DatabaseCheck(string serverName, string title, CheckId checkId, LocalizedString description, IEventManager eventManager, string momEventSource, List <ReplayConfiguration> replayConfigs, Dictionary <Guid, RpcDatabaseCopyStatus2> copyStatuses) : this(title, checkId, description, eventManager, momEventSource, replayConfigs, copyStatuses, serverName, new uint?(0U)) { }
public override string ToString() { return(CheckId.ToString()); }
public DagMemberCheck(string serverName, string title, CheckId checkId, LocalizedString description, CheckCategory checkCategory, IEventManager eventManager, string momeventsource, uint?ignoreTransientErrorsThreshold, IADDatabaseAvailabilityGroup dag, bool fClusterLevelCheck) : base(title, checkId, description, checkCategory, eventManager, momeventsource, serverName, ignoreTransientErrorsThreshold) { this.m_dag = dag; this.m_fClusterLevelCheck = fClusterLevelCheck; }
public ReplicationCheck(string title, CheckId checkId, LocalizedString description, CheckCategory category, IEventManager eventManager, string momEventSource, string serverName) : this(title, checkId, description, category, eventManager, momEventSource, serverName, null) { }
public DatabaseCheck(string title, CheckId checkId, LocalizedString description, IEventManager eventManager, string momEventSource, List <ReplayConfiguration> replayConfigs, Dictionary <Guid, RpcDatabaseCopyStatus2> copyStatuses, string mailboxServer, uint?ignoreTransientErrorsThreshold) : base(title, checkId, description, CheckCategory.Database, eventManager, momEventSource, mailboxServer, ignoreTransientErrorsThreshold) { this.m_ReplayConfigs = replayConfigs; this.m_CopyStatuses = copyStatuses; }
/// <summary> /// Initializes a new instance of the <see cref="UpdateAlarmConfiguration"/> class with the specified /// values. /// </summary> /// <param name="checkId">The ID of the check to alert on. This is obtained from <see cref="Check.Id">Check.Id</see>. If this value is <see langword="null"/>, the existing value for the alarm is not changed.</param> /// <param name="notificationPlanId">The ID of the notification plan to execute when the state changes. This is obtained from <see cref="NotificationPlan.Id">NotificationPlan.Id</see>. If this value is <see langword="null"/>, the existing value for the alarm is not changed.</param> /// <param name="criteria">The <see href="http://docs.rackspace.com/cm/api/v1.0/cm-devguide/content/alerts-language.html">alarm DSL</see> for describing alerting conditions and their output states. If this value is <see langword="null"/>, the existing value for the alarm is not changed.</param> /// <param name="enabled"><see langword="true"/> to enable processing and alerts on this alarm; otherwise, <see langword="false"/>. If this value is <see langword="null"/>, the existing value for the alarm is not changed.</param> /// <param name="label">A friendly label for the alarm. If this value is <see langword="null"/>, the existing value for the alarm is not changed.</param> /// <param name="metadata">A collection of metadata to associate with the alarm. If this value is <see langword="null"/>, the existing value for the alarm is not changed.</param> /// <exception cref="ArgumentException"> /// If <paramref name="metadata"/> contains any values with empty keys. /// </exception> public UpdateAlarmConfiguration(CheckId checkId = null, NotificationPlanId notificationPlanId = null, string criteria = null, bool? enabled = null, string label = null, IDictionary<string, string> metadata = null) : base(checkId, notificationPlanId, criteria, enabled, label, metadata) { }