Class ServiceLevelObjective.Builder

  • All Implemented Interfaces:
    ServiceLevelObjectiveOrBuilder, com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, Cloneable
    Enclosing class:
    ServiceLevelObjective

    public static final class ServiceLevelObjective.Builder
    extends com.google.protobuf.GeneratedMessageV3.Builder<ServiceLevelObjective.Builder>
    implements ServiceLevelObjectiveOrBuilder
     A Service-Level Objective (SLO) describes a level of desired good service. It
     consists of a service-level indicator (SLI), a performance goal, and a period
     over which the objective is to be evaluated against that goal. The SLO can
     use SLIs defined in a number of different manners. Typical SLOs might include
     "99% of requests in each rolling week have latency below 200 milliseconds" or
     "99.5% of requests in each calendar month return successfully."
     
    Protobuf type google.monitoring.v3.ServiceLevelObjective
    • Method Detail

      • getDescriptor

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
      • internalGetMapField

        protected com.google.protobuf.MapField internalGetMapField​(int number)
        Overrides:
        internalGetMapField in class com.google.protobuf.GeneratedMessageV3.Builder<ServiceLevelObjective.Builder>
      • internalGetMutableMapField

        protected com.google.protobuf.MapField internalGetMutableMapField​(int number)
        Overrides:
        internalGetMutableMapField in class com.google.protobuf.GeneratedMessageV3.Builder<ServiceLevelObjective.Builder>
      • internalGetFieldAccessorTable

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3.Builder<ServiceLevelObjective.Builder>
      • clear

        public ServiceLevelObjective.Builder clear()
        Specified by:
        clear in interface com.google.protobuf.Message.Builder
        Specified by:
        clear in interface com.google.protobuf.MessageLite.Builder
        Overrides:
        clear in class com.google.protobuf.GeneratedMessageV3.Builder<ServiceLevelObjective.Builder>
      • getDescriptorForType

        public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
        Specified by:
        getDescriptorForType in interface com.google.protobuf.Message.Builder
        Specified by:
        getDescriptorForType in interface com.google.protobuf.MessageOrBuilder
        Overrides:
        getDescriptorForType in class com.google.protobuf.GeneratedMessageV3.Builder<ServiceLevelObjective.Builder>
      • getDefaultInstanceForType

        public ServiceLevelObjective getDefaultInstanceForType()
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder
      • build

        public ServiceLevelObjective build()
        Specified by:
        build in interface com.google.protobuf.Message.Builder
        Specified by:
        build in interface com.google.protobuf.MessageLite.Builder
      • buildPartial

        public ServiceLevelObjective buildPartial()
        Specified by:
        buildPartial in interface com.google.protobuf.Message.Builder
        Specified by:
        buildPartial in interface com.google.protobuf.MessageLite.Builder
      • clone

        public ServiceLevelObjective.Builder clone()
        Specified by:
        clone in interface com.google.protobuf.Message.Builder
        Specified by:
        clone in interface com.google.protobuf.MessageLite.Builder
        Overrides:
        clone in class com.google.protobuf.GeneratedMessageV3.Builder<ServiceLevelObjective.Builder>
      • clearField

        public ServiceLevelObjective.Builder clearField​(com.google.protobuf.Descriptors.FieldDescriptor field)
        Specified by:
        clearField in interface com.google.protobuf.Message.Builder
        Overrides:
        clearField in class com.google.protobuf.GeneratedMessageV3.Builder<ServiceLevelObjective.Builder>
      • clearOneof

        public ServiceLevelObjective.Builder clearOneof​(com.google.protobuf.Descriptors.OneofDescriptor oneof)
        Specified by:
        clearOneof in interface com.google.protobuf.Message.Builder
        Overrides:
        clearOneof in class com.google.protobuf.GeneratedMessageV3.Builder<ServiceLevelObjective.Builder>
      • setRepeatedField

        public ServiceLevelObjective.Builder setRepeatedField​(com.google.protobuf.Descriptors.FieldDescriptor field,
                                                              int index,
                                                              Object value)
        Specified by:
        setRepeatedField in interface com.google.protobuf.Message.Builder
        Overrides:
        setRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<ServiceLevelObjective.Builder>
      • addRepeatedField

        public ServiceLevelObjective.Builder addRepeatedField​(com.google.protobuf.Descriptors.FieldDescriptor field,
                                                              Object value)
        Specified by:
        addRepeatedField in interface com.google.protobuf.Message.Builder
        Overrides:
        addRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<ServiceLevelObjective.Builder>
      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessageV3.Builder<ServiceLevelObjective.Builder>
      • mergeFrom

        public ServiceLevelObjective.Builder mergeFrom​(com.google.protobuf.CodedInputStream input,
                                                       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                throws IOException
        Specified by:
        mergeFrom in interface com.google.protobuf.Message.Builder
        Specified by:
        mergeFrom in interface com.google.protobuf.MessageLite.Builder
        Overrides:
        mergeFrom in class com.google.protobuf.AbstractMessage.Builder<ServiceLevelObjective.Builder>
        Throws:
        IOException
      • getName

        public String getName()
         Resource name for this `ServiceLevelObjective`. The format is:
        
             projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID]/serviceLevelObjectives/[SLO_NAME]
         
        string name = 1;
        Specified by:
        getName in interface ServiceLevelObjectiveOrBuilder
        Returns:
        The name.
      • getNameBytes

        public com.google.protobuf.ByteString getNameBytes()
         Resource name for this `ServiceLevelObjective`. The format is:
        
             projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID]/serviceLevelObjectives/[SLO_NAME]
         
        string name = 1;
        Specified by:
        getNameBytes in interface ServiceLevelObjectiveOrBuilder
        Returns:
        The bytes for name.
      • setName

        public ServiceLevelObjective.Builder setName​(String value)
         Resource name for this `ServiceLevelObjective`. The format is:
        
             projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID]/serviceLevelObjectives/[SLO_NAME]
         
        string name = 1;
        Parameters:
        value - The name to set.
        Returns:
        This builder for chaining.
      • clearName

        public ServiceLevelObjective.Builder clearName()
         Resource name for this `ServiceLevelObjective`. The format is:
        
             projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID]/serviceLevelObjectives/[SLO_NAME]
         
        string name = 1;
        Returns:
        This builder for chaining.
      • setNameBytes

        public ServiceLevelObjective.Builder setNameBytes​(com.google.protobuf.ByteString value)
         Resource name for this `ServiceLevelObjective`. The format is:
        
             projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID]/serviceLevelObjectives/[SLO_NAME]
         
        string name = 1;
        Parameters:
        value - The bytes for name to set.
        Returns:
        This builder for chaining.
      • getDisplayNameBytes

        public com.google.protobuf.ByteString getDisplayNameBytes()
         Name used for UI elements listing this SLO.
         
        string display_name = 11;
        Specified by:
        getDisplayNameBytes in interface ServiceLevelObjectiveOrBuilder
        Returns:
        The bytes for displayName.
      • setDisplayName

        public ServiceLevelObjective.Builder setDisplayName​(String value)
         Name used for UI elements listing this SLO.
         
        string display_name = 11;
        Parameters:
        value - The displayName to set.
        Returns:
        This builder for chaining.
      • clearDisplayName

        public ServiceLevelObjective.Builder clearDisplayName()
         Name used for UI elements listing this SLO.
         
        string display_name = 11;
        Returns:
        This builder for chaining.
      • setDisplayNameBytes

        public ServiceLevelObjective.Builder setDisplayNameBytes​(com.google.protobuf.ByteString value)
         Name used for UI elements listing this SLO.
         
        string display_name = 11;
        Parameters:
        value - The bytes for displayName to set.
        Returns:
        This builder for chaining.
      • hasServiceLevelIndicator

        public boolean hasServiceLevelIndicator()
         The definition of good service, used to measure and calculate the quality
         of the `Service`'s performance with respect to a single aspect of service
         quality.
         
        .google.monitoring.v3.ServiceLevelIndicator service_level_indicator = 3;
        Specified by:
        hasServiceLevelIndicator in interface ServiceLevelObjectiveOrBuilder
        Returns:
        Whether the serviceLevelIndicator field is set.
      • getServiceLevelIndicator

        public ServiceLevelIndicator getServiceLevelIndicator()
         The definition of good service, used to measure and calculate the quality
         of the `Service`'s performance with respect to a single aspect of service
         quality.
         
        .google.monitoring.v3.ServiceLevelIndicator service_level_indicator = 3;
        Specified by:
        getServiceLevelIndicator in interface ServiceLevelObjectiveOrBuilder
        Returns:
        The serviceLevelIndicator.
      • setServiceLevelIndicator

        public ServiceLevelObjective.Builder setServiceLevelIndicator​(ServiceLevelIndicator value)
         The definition of good service, used to measure and calculate the quality
         of the `Service`'s performance with respect to a single aspect of service
         quality.
         
        .google.monitoring.v3.ServiceLevelIndicator service_level_indicator = 3;
      • setServiceLevelIndicator

        public ServiceLevelObjective.Builder setServiceLevelIndicator​(ServiceLevelIndicator.Builder builderForValue)
         The definition of good service, used to measure and calculate the quality
         of the `Service`'s performance with respect to a single aspect of service
         quality.
         
        .google.monitoring.v3.ServiceLevelIndicator service_level_indicator = 3;
      • mergeServiceLevelIndicator

        public ServiceLevelObjective.Builder mergeServiceLevelIndicator​(ServiceLevelIndicator value)
         The definition of good service, used to measure and calculate the quality
         of the `Service`'s performance with respect to a single aspect of service
         quality.
         
        .google.monitoring.v3.ServiceLevelIndicator service_level_indicator = 3;
      • clearServiceLevelIndicator

        public ServiceLevelObjective.Builder clearServiceLevelIndicator()
         The definition of good service, used to measure and calculate the quality
         of the `Service`'s performance with respect to a single aspect of service
         quality.
         
        .google.monitoring.v3.ServiceLevelIndicator service_level_indicator = 3;
      • getServiceLevelIndicatorBuilder

        public ServiceLevelIndicator.Builder getServiceLevelIndicatorBuilder()
         The definition of good service, used to measure and calculate the quality
         of the `Service`'s performance with respect to a single aspect of service
         quality.
         
        .google.monitoring.v3.ServiceLevelIndicator service_level_indicator = 3;
      • getGoal

        public double getGoal()
         The fraction of service that must be good in order for this objective to be
         met. `0 < goal <= 0.999`.
         
        double goal = 4;
        Specified by:
        getGoal in interface ServiceLevelObjectiveOrBuilder
        Returns:
        The goal.
      • setGoal

        public ServiceLevelObjective.Builder setGoal​(double value)
         The fraction of service that must be good in order for this objective to be
         met. `0 < goal <= 0.999`.
         
        double goal = 4;
        Parameters:
        value - The goal to set.
        Returns:
        This builder for chaining.
      • clearGoal

        public ServiceLevelObjective.Builder clearGoal()
         The fraction of service that must be good in order for this objective to be
         met. `0 < goal <= 0.999`.
         
        double goal = 4;
        Returns:
        This builder for chaining.
      • hasRollingPeriod

        public boolean hasRollingPeriod()
         A rolling time period, semantically "in the past `<rolling_period>`".
         Must be an integer multiple of 1 day no larger than 30 days.
         
        .google.protobuf.Duration rolling_period = 5;
        Specified by:
        hasRollingPeriod in interface ServiceLevelObjectiveOrBuilder
        Returns:
        Whether the rollingPeriod field is set.
      • getRollingPeriod

        public com.google.protobuf.Duration getRollingPeriod()
         A rolling time period, semantically "in the past `<rolling_period>`".
         Must be an integer multiple of 1 day no larger than 30 days.
         
        .google.protobuf.Duration rolling_period = 5;
        Specified by:
        getRollingPeriod in interface ServiceLevelObjectiveOrBuilder
        Returns:
        The rollingPeriod.
      • setRollingPeriod

        public ServiceLevelObjective.Builder setRollingPeriod​(com.google.protobuf.Duration value)
         A rolling time period, semantically "in the past `<rolling_period>`".
         Must be an integer multiple of 1 day no larger than 30 days.
         
        .google.protobuf.Duration rolling_period = 5;
      • setRollingPeriod

        public ServiceLevelObjective.Builder setRollingPeriod​(com.google.protobuf.Duration.Builder builderForValue)
         A rolling time period, semantically "in the past `<rolling_period>`".
         Must be an integer multiple of 1 day no larger than 30 days.
         
        .google.protobuf.Duration rolling_period = 5;
      • mergeRollingPeriod

        public ServiceLevelObjective.Builder mergeRollingPeriod​(com.google.protobuf.Duration value)
         A rolling time period, semantically "in the past `<rolling_period>`".
         Must be an integer multiple of 1 day no larger than 30 days.
         
        .google.protobuf.Duration rolling_period = 5;
      • clearRollingPeriod

        public ServiceLevelObjective.Builder clearRollingPeriod()
         A rolling time period, semantically "in the past `<rolling_period>`".
         Must be an integer multiple of 1 day no larger than 30 days.
         
        .google.protobuf.Duration rolling_period = 5;
      • getRollingPeriodBuilder

        public com.google.protobuf.Duration.Builder getRollingPeriodBuilder()
         A rolling time period, semantically "in the past `<rolling_period>`".
         Must be an integer multiple of 1 day no larger than 30 days.
         
        .google.protobuf.Duration rolling_period = 5;
      • getRollingPeriodOrBuilder

        public com.google.protobuf.DurationOrBuilder getRollingPeriodOrBuilder()
         A rolling time period, semantically "in the past `<rolling_period>`".
         Must be an integer multiple of 1 day no larger than 30 days.
         
        .google.protobuf.Duration rolling_period = 5;
        Specified by:
        getRollingPeriodOrBuilder in interface ServiceLevelObjectiveOrBuilder
      • hasCalendarPeriod

        public boolean hasCalendarPeriod()
         A calendar period, semantically "since the start of the current
         `<calendar_period>`". At this time, only `DAY`, `WEEK`, `FORTNIGHT`, and
         `MONTH` are supported.
         
        .google.type.CalendarPeriod calendar_period = 6;
        Specified by:
        hasCalendarPeriod in interface ServiceLevelObjectiveOrBuilder
        Returns:
        Whether the calendarPeriod field is set.
      • getCalendarPeriodValue

        public int getCalendarPeriodValue()
         A calendar period, semantically "since the start of the current
         `<calendar_period>`". At this time, only `DAY`, `WEEK`, `FORTNIGHT`, and
         `MONTH` are supported.
         
        .google.type.CalendarPeriod calendar_period = 6;
        Specified by:
        getCalendarPeriodValue in interface ServiceLevelObjectiveOrBuilder
        Returns:
        The enum numeric value on the wire for calendarPeriod.
      • setCalendarPeriodValue

        public ServiceLevelObjective.Builder setCalendarPeriodValue​(int value)
         A calendar period, semantically "since the start of the current
         `<calendar_period>`". At this time, only `DAY`, `WEEK`, `FORTNIGHT`, and
         `MONTH` are supported.
         
        .google.type.CalendarPeriod calendar_period = 6;
        Parameters:
        value - The enum numeric value on the wire for calendarPeriod to set.
        Returns:
        This builder for chaining.
      • getCalendarPeriod

        public com.google.type.CalendarPeriod getCalendarPeriod()
         A calendar period, semantically "since the start of the current
         `<calendar_period>`". At this time, only `DAY`, `WEEK`, `FORTNIGHT`, and
         `MONTH` are supported.
         
        .google.type.CalendarPeriod calendar_period = 6;
        Specified by:
        getCalendarPeriod in interface ServiceLevelObjectiveOrBuilder
        Returns:
        The calendarPeriod.
      • setCalendarPeriod

        public ServiceLevelObjective.Builder setCalendarPeriod​(com.google.type.CalendarPeriod value)
         A calendar period, semantically "since the start of the current
         `<calendar_period>`". At this time, only `DAY`, `WEEK`, `FORTNIGHT`, and
         `MONTH` are supported.
         
        .google.type.CalendarPeriod calendar_period = 6;
        Parameters:
        value - The calendarPeriod to set.
        Returns:
        This builder for chaining.
      • clearCalendarPeriod

        public ServiceLevelObjective.Builder clearCalendarPeriod()
         A calendar period, semantically "since the start of the current
         `<calendar_period>`". At this time, only `DAY`, `WEEK`, `FORTNIGHT`, and
         `MONTH` are supported.
         
        .google.type.CalendarPeriod calendar_period = 6;
        Returns:
        This builder for chaining.
      • getUserLabelsCount

        public int getUserLabelsCount()
        Description copied from interface: ServiceLevelObjectiveOrBuilder
         Labels which have been used to annotate the service-level objective. Label
         keys must start with a letter. Label keys and values may contain lowercase
         letters, numbers, underscores, and dashes. Label keys and values have a
         maximum length of 63 characters, and must be less than 128 bytes in size.
         Up to 64 label entries may be stored. For labels which do not have a
         semantic value, the empty string may be supplied for the label value.
         
        map<string, string> user_labels = 12;
        Specified by:
        getUserLabelsCount in interface ServiceLevelObjectiveOrBuilder
      • containsUserLabels

        public boolean containsUserLabels​(String key)
         Labels which have been used to annotate the service-level objective. Label
         keys must start with a letter. Label keys and values may contain lowercase
         letters, numbers, underscores, and dashes. Label keys and values have a
         maximum length of 63 characters, and must be less than 128 bytes in size.
         Up to 64 label entries may be stored. For labels which do not have a
         semantic value, the empty string may be supplied for the label value.
         
        map<string, string> user_labels = 12;
        Specified by:
        containsUserLabels in interface ServiceLevelObjectiveOrBuilder
      • getUserLabelsMap

        public Map<String,​String> getUserLabelsMap()
         Labels which have been used to annotate the service-level objective. Label
         keys must start with a letter. Label keys and values may contain lowercase
         letters, numbers, underscores, and dashes. Label keys and values have a
         maximum length of 63 characters, and must be less than 128 bytes in size.
         Up to 64 label entries may be stored. For labels which do not have a
         semantic value, the empty string may be supplied for the label value.
         
        map<string, string> user_labels = 12;
        Specified by:
        getUserLabelsMap in interface ServiceLevelObjectiveOrBuilder
      • getUserLabelsOrDefault

        public String getUserLabelsOrDefault​(String key,
                                             String defaultValue)
         Labels which have been used to annotate the service-level objective. Label
         keys must start with a letter. Label keys and values may contain lowercase
         letters, numbers, underscores, and dashes. Label keys and values have a
         maximum length of 63 characters, and must be less than 128 bytes in size.
         Up to 64 label entries may be stored. For labels which do not have a
         semantic value, the empty string may be supplied for the label value.
         
        map<string, string> user_labels = 12;
        Specified by:
        getUserLabelsOrDefault in interface ServiceLevelObjectiveOrBuilder
      • getUserLabelsOrThrow

        public String getUserLabelsOrThrow​(String key)
         Labels which have been used to annotate the service-level objective. Label
         keys must start with a letter. Label keys and values may contain lowercase
         letters, numbers, underscores, and dashes. Label keys and values have a
         maximum length of 63 characters, and must be less than 128 bytes in size.
         Up to 64 label entries may be stored. For labels which do not have a
         semantic value, the empty string may be supplied for the label value.
         
        map<string, string> user_labels = 12;
        Specified by:
        getUserLabelsOrThrow in interface ServiceLevelObjectiveOrBuilder
      • removeUserLabels

        public ServiceLevelObjective.Builder removeUserLabels​(String key)
         Labels which have been used to annotate the service-level objective. Label
         keys must start with a letter. Label keys and values may contain lowercase
         letters, numbers, underscores, and dashes. Label keys and values have a
         maximum length of 63 characters, and must be less than 128 bytes in size.
         Up to 64 label entries may be stored. For labels which do not have a
         semantic value, the empty string may be supplied for the label value.
         
        map<string, string> user_labels = 12;
      • getMutableUserLabels

        @Deprecated
        public Map<String,​String> getMutableUserLabels()
        Deprecated.
        Use alternate mutation accessors instead.
      • putUserLabels

        public ServiceLevelObjective.Builder putUserLabels​(String key,
                                                           String value)
         Labels which have been used to annotate the service-level objective. Label
         keys must start with a letter. Label keys and values may contain lowercase
         letters, numbers, underscores, and dashes. Label keys and values have a
         maximum length of 63 characters, and must be less than 128 bytes in size.
         Up to 64 label entries may be stored. For labels which do not have a
         semantic value, the empty string may be supplied for the label value.
         
        map<string, string> user_labels = 12;
      • putAllUserLabels

        public ServiceLevelObjective.Builder putAllUserLabels​(Map<String,​String> values)
         Labels which have been used to annotate the service-level objective. Label
         keys must start with a letter. Label keys and values may contain lowercase
         letters, numbers, underscores, and dashes. Label keys and values have a
         maximum length of 63 characters, and must be less than 128 bytes in size.
         Up to 64 label entries may be stored. For labels which do not have a
         semantic value, the empty string may be supplied for the label value.
         
        map<string, string> user_labels = 12;
      • setUnknownFields

        public final ServiceLevelObjective.Builder setUnknownFields​(com.google.protobuf.UnknownFieldSet unknownFields)
        Specified by:
        setUnknownFields in interface com.google.protobuf.Message.Builder
        Overrides:
        setUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<ServiceLevelObjective.Builder>
      • mergeUnknownFields

        public final ServiceLevelObjective.Builder mergeUnknownFields​(com.google.protobuf.UnknownFieldSet unknownFields)
        Specified by:
        mergeUnknownFields in interface com.google.protobuf.Message.Builder
        Overrides:
        mergeUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<ServiceLevelObjective.Builder>