// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: google/monitoring/v3/notification.proto

package com.google.monitoring.v3;

public interface NotificationChannelDescriptorOrBuilder extends
    // @@protoc_insertion_point(interface_extends:google.monitoring.v3.NotificationChannelDescriptor)
    com.google.protobuf.MessageOrBuilder {

  /**
   * <pre>
   * The full REST resource name for this descriptor. The syntax is:
   *     projects/[PROJECT_ID]/notificationChannelDescriptors/[TYPE]
   * In the above, `[TYPE]` is the value of the `type` field.
   * </pre>
   *
   * <code>string name = 6;</code>
   */
  java.lang.String getName();
  /**
   * <pre>
   * The full REST resource name for this descriptor. The syntax is:
   *     projects/[PROJECT_ID]/notificationChannelDescriptors/[TYPE]
   * In the above, `[TYPE]` is the value of the `type` field.
   * </pre>
   *
   * <code>string name = 6;</code>
   */
  com.google.protobuf.ByteString
      getNameBytes();

  /**
   * <pre>
   * The type of notification channel, such as "email", "sms", etc.
   * Notification channel types are globally unique.
   * </pre>
   *
   * <code>string type = 1;</code>
   */
  java.lang.String getType();
  /**
   * <pre>
   * The type of notification channel, such as "email", "sms", etc.
   * Notification channel types are globally unique.
   * </pre>
   *
   * <code>string type = 1;</code>
   */
  com.google.protobuf.ByteString
      getTypeBytes();

  /**
   * <pre>
   * A human-readable name for the notification channel type.  This
   * form of the name is suitable for a user interface.
   * </pre>
   *
   * <code>string display_name = 2;</code>
   */
  java.lang.String getDisplayName();
  /**
   * <pre>
   * A human-readable name for the notification channel type.  This
   * form of the name is suitable for a user interface.
   * </pre>
   *
   * <code>string display_name = 2;</code>
   */
  com.google.protobuf.ByteString
      getDisplayNameBytes();

  /**
   * <pre>
   * A human-readable description of the notification channel
   * type. The description may include a description of the properties
   * of the channel and pointers to external documentation.
   * </pre>
   *
   * <code>string description = 3;</code>
   */
  java.lang.String getDescription();
  /**
   * <pre>
   * A human-readable description of the notification channel
   * type. The description may include a description of the properties
   * of the channel and pointers to external documentation.
   * </pre>
   *
   * <code>string description = 3;</code>
   */
  com.google.protobuf.ByteString
      getDescriptionBytes();

  /**
   * <pre>
   * The set of labels that must be defined to identify a particular
   * channel of the corresponding type. Each label includes a
   * description for how that field should be populated.
   * </pre>
   *
   * <code>repeated .google.api.LabelDescriptor labels = 4;</code>
   */
  java.util.List<com.google.api.LabelDescriptor> 
      getLabelsList();
  /**
   * <pre>
   * The set of labels that must be defined to identify a particular
   * channel of the corresponding type. Each label includes a
   * description for how that field should be populated.
   * </pre>
   *
   * <code>repeated .google.api.LabelDescriptor labels = 4;</code>
   */
  com.google.api.LabelDescriptor getLabels(int index);
  /**
   * <pre>
   * The set of labels that must be defined to identify a particular
   * channel of the corresponding type. Each label includes a
   * description for how that field should be populated.
   * </pre>
   *
   * <code>repeated .google.api.LabelDescriptor labels = 4;</code>
   */
  int getLabelsCount();
  /**
   * <pre>
   * The set of labels that must be defined to identify a particular
   * channel of the corresponding type. Each label includes a
   * description for how that field should be populated.
   * </pre>
   *
   * <code>repeated .google.api.LabelDescriptor labels = 4;</code>
   */
  java.util.List<? extends com.google.api.LabelDescriptorOrBuilder> 
      getLabelsOrBuilderList();
  /**
   * <pre>
   * The set of labels that must be defined to identify a particular
   * channel of the corresponding type. Each label includes a
   * description for how that field should be populated.
   * </pre>
   *
   * <code>repeated .google.api.LabelDescriptor labels = 4;</code>
   */
  com.google.api.LabelDescriptorOrBuilder getLabelsOrBuilder(
      int index);

  /**
   * <pre>
   * The tiers that support this notification channel; the project service tier
   * must be one of the supported_tiers.
   * </pre>
   *
   * <code>repeated .google.monitoring.v3.ServiceTier supported_tiers = 5;</code>
   */
  java.util.List<com.google.monitoring.v3.ServiceTier> getSupportedTiersList();
  /**
   * <pre>
   * The tiers that support this notification channel; the project service tier
   * must be one of the supported_tiers.
   * </pre>
   *
   * <code>repeated .google.monitoring.v3.ServiceTier supported_tiers = 5;</code>
   */
  int getSupportedTiersCount();
  /**
   * <pre>
   * The tiers that support this notification channel; the project service tier
   * must be one of the supported_tiers.
   * </pre>
   *
   * <code>repeated .google.monitoring.v3.ServiceTier supported_tiers = 5;</code>
   */
  com.google.monitoring.v3.ServiceTier getSupportedTiers(int index);
  /**
   * <pre>
   * The tiers that support this notification channel; the project service tier
   * must be one of the supported_tiers.
   * </pre>
   *
   * <code>repeated .google.monitoring.v3.ServiceTier supported_tiers = 5;</code>
   */
  java.util.List<java.lang.Integer>
  getSupportedTiersValueList();
  /**
   * <pre>
   * The tiers that support this notification channel; the project service tier
   * must be one of the supported_tiers.
   * </pre>
   *
   * <code>repeated .google.monitoring.v3.ServiceTier supported_tiers = 5;</code>
   */
  int getSupportedTiersValue(int index);
}
