コード例 #1
0
 /// <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");
 }
コード例 #2
0
        /// <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;
        }
コード例 #3
0
        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));
        }
コード例 #4
0
        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));
        }
コード例 #5
0
 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);
 }
コード例 #6
0
        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;
        }
コード例 #7
0
        /// <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;
            }
        }
コード例 #8
0
        /// <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;
            }
        }
コード例 #9
0
        /// <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;
            }
        }
コード例 #10
0
        /// <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;
            }
        }
コード例 #11
0
        /// <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;
            }
        }
コード例 #12
0
        /// <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;
            }
        }
コード例 #13
0
 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)
 {
 }
コード例 #14
0
 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))
 {
 }
コード例 #15
0
 public override string ToString()
 {
     return(CheckId.ToString());
 }
コード例 #16
0
 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;
 }
コード例 #17
0
 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)
 {
 }
コード例 #18
0
 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;
 }
コード例 #19
0
 /// <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)
 {
 }