Enum WorkerVersioningMode

  • All Implemented Interfaces:
    com.google.protobuf.Internal.EnumLite, com.google.protobuf.ProtocolMessageEnum, java.io.Serializable, java.lang.Comparable<WorkerVersioningMode>

    @Generated(value="protoc",
               comments="annotations:WorkerVersioningMode.java.pb.meta")
    public enum WorkerVersioningMode
    extends java.lang.Enum<WorkerVersioningMode>
    implements com.google.protobuf.ProtocolMessageEnum
     Versioning Mode of a worker is set by the app developer in the worker code, and specifies the
     behavior of the system in the following related aspects:
     - Whether or not Temporal Server considers this worker's version (Build ID) when dispatching
       tasks to it.
     - Whether or not the workflows processed by this worker are versioned using the worker's version.
     Experimental. Worker Deployments are experimental and might significantly change in the future.
     
    Protobuf enum temporal.api.enums.v1.WorkerVersioningMode
    • Enum Constant Detail

      • WORKER_VERSIONING_MODE_UNSPECIFIED

        public static final WorkerVersioningMode WORKER_VERSIONING_MODE_UNSPECIFIED
        WORKER_VERSIONING_MODE_UNSPECIFIED = 0;
      • WORKER_VERSIONING_MODE_UNVERSIONED

        public static final WorkerVersioningMode WORKER_VERSIONING_MODE_UNVERSIONED
         Workers with this mode are not distinguished from each other for task routing, even if they
         have different Build IDs.
         Workflows processed by this worker will be unversioned and user needs to use Patching to keep
         the new code compatible with prior versions.
         This mode is recommended to be used along with Rolling Upgrade deployment strategies.
         Workers with this mode are represented by the special string `__unversioned__` in the APIs.
         
        WORKER_VERSIONING_MODE_UNVERSIONED = 1;
      • WORKER_VERSIONING_MODE_VERSIONED

        public static final WorkerVersioningMode WORKER_VERSIONING_MODE_VERSIONED
         Workers with this mode are part of a Worker Deployment Version which is identified as
         "<deployment_name>.<build_id>". Such workers are called "versioned" as opposed to
         "unversioned".
         Each Deployment Version is distinguished from other Versions for task routing and users can
         configure Temporal Server to send tasks to a particular Version (see
         `WorkerDeploymentInfo.routing_config`). This mode is the best option for Blue/Green and
         Rainbow strategies (but typically not suitable for Rolling upgrades.)
         Workflow Versioning Behaviors are enabled in this mode: each workflow type must choose
         between the Pinned and AutoUpgrade behaviors. Depending on the chosen behavior, the user may
         or may not need to use Patching to keep the new code compatible with prior versions. (see
         VersioningBehavior enum.)
         
        WORKER_VERSIONING_MODE_VERSIONED = 2;
    • Field Detail

      • WORKER_VERSIONING_MODE_UNSPECIFIED_VALUE

        public static final int WORKER_VERSIONING_MODE_UNSPECIFIED_VALUE
        WORKER_VERSIONING_MODE_UNSPECIFIED = 0;
        See Also:
        Constant Field Values
      • WORKER_VERSIONING_MODE_UNVERSIONED_VALUE

        public static final int WORKER_VERSIONING_MODE_UNVERSIONED_VALUE
         Workers with this mode are not distinguished from each other for task routing, even if they
         have different Build IDs.
         Workflows processed by this worker will be unversioned and user needs to use Patching to keep
         the new code compatible with prior versions.
         This mode is recommended to be used along with Rolling Upgrade deployment strategies.
         Workers with this mode are represented by the special string `__unversioned__` in the APIs.
         
        WORKER_VERSIONING_MODE_UNVERSIONED = 1;
        See Also:
        Constant Field Values
      • WORKER_VERSIONING_MODE_VERSIONED_VALUE

        public static final int WORKER_VERSIONING_MODE_VERSIONED_VALUE
         Workers with this mode are part of a Worker Deployment Version which is identified as
         "<deployment_name>.<build_id>". Such workers are called "versioned" as opposed to
         "unversioned".
         Each Deployment Version is distinguished from other Versions for task routing and users can
         configure Temporal Server to send tasks to a particular Version (see
         `WorkerDeploymentInfo.routing_config`). This mode is the best option for Blue/Green and
         Rainbow strategies (but typically not suitable for Rolling upgrades.)
         Workflow Versioning Behaviors are enabled in this mode: each workflow type must choose
         between the Pinned and AutoUpgrade behaviors. Depending on the chosen behavior, the user may
         or may not need to use Patching to keep the new code compatible with prior versions. (see
         VersioningBehavior enum.)
         
        WORKER_VERSIONING_MODE_VERSIONED = 2;
        See Also:
        Constant Field Values
    • Method Detail

      • values

        public static WorkerVersioningMode[] values()
        Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:
        for (WorkerVersioningMode c : WorkerVersioningMode.values())
            System.out.println(c);
        
        Returns:
        an array containing the constants of this enum type, in the order they are declared
      • valueOf

        public static WorkerVersioningMode valueOf​(java.lang.String name)
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
        Parameters:
        name - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        java.lang.IllegalArgumentException - if this enum type has no constant with the specified name
        java.lang.NullPointerException - if the argument is null
      • getNumber

        public final int getNumber()
        Specified by:
        getNumber in interface com.google.protobuf.Internal.EnumLite
        Specified by:
        getNumber in interface com.google.protobuf.ProtocolMessageEnum
      • valueOf

        @Deprecated
        public static WorkerVersioningMode valueOf​(int value)
        Deprecated.
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
        Parameters:
        value - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        java.lang.IllegalArgumentException - if this enum type has no constant with the specified name
        java.lang.NullPointerException - if the argument is null
      • forNumber

        public static WorkerVersioningMode forNumber​(int value)
        Parameters:
        value - The numeric wire value of the corresponding enum entry.
        Returns:
        The enum associated with the given numeric wire value.
      • internalGetValueMap

        public static com.google.protobuf.Internal.EnumLiteMap<WorkerVersioningMode> internalGetValueMap()
      • getValueDescriptor

        public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
        Specified by:
        getValueDescriptor in interface com.google.protobuf.ProtocolMessageEnum
      • getDescriptorForType

        public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
        Specified by:
        getDescriptorForType in interface com.google.protobuf.ProtocolMessageEnum
      • getDescriptor

        public static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
      • valueOf

        public static WorkerVersioningMode valueOf​(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
        Parameters:
        desc - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        java.lang.IllegalArgumentException - if this enum type has no constant with the specified name
        java.lang.NullPointerException - if the argument is null