Class AlterResourceGroupRequest

  • All Implemented Interfaces:
    org.apache.avro.generic.GenericContainer, org.apache.avro.generic.IndexedRecord

    public class AlterResourceGroupRequest
    extends Object
    implements org.apache.avro.generic.IndexedRecord
    A set of parameters for GPUdb.alterResourceGroup.

    Alters the properties of an existing resource group to facilitate resource management.

    • Constructor Detail

      • AlterResourceGroupRequest

        public AlterResourceGroupRequest()
        Constructs an AlterResourceGroupRequest object with default parameters.
      • AlterResourceGroupRequest

        public AlterResourceGroupRequest​(String name,
                                         Map<String,​Map<String,​String>> tierAttributes,
                                         String ranking,
                                         String adjoiningResourceGroup,
                                         Map<String,​String> options)
        Constructs an AlterResourceGroupRequest object with the specified parameters.
        Parameters:
        name - Name of the group to be altered. Must be an existing resource group name or an empty string when used in conjunction with IS_DEFAULT_GROUP.
        tierAttributes - Optional map containing tier names and their respective attribute group limits. The only valid attribute limit that can be set is max_memory (in bytes) for the VRAM and RAM tiers. For instance, to set max VRAM capacity to 1GB per rank per GPU and max RAM capacity to 10GB per rank, use: {'VRAM':{'max_memory':'1000000000'}, 'RAM':{'max_memory':'10000000000'}}.
        • MAX_MEMORY: Maximum amount of memory usable at one time, per rank, per GPU, for the VRAM tier; or maximum amount of memory usable at one time, per rank, for the RAM tier.
        The default value is an empty Map.
        ranking - If the resource group ranking is to be updated, this indicates the relative ranking among existing resource groups where this resource group will be placed. Supported values:
        • EMPTY_STRING: Don't change the ranking
        • FIRST: Make this resource group the new first one in the ordering
        • LAST: Make this resource group the new last one in the ordering
        • BEFORE: Place this resource group before the one specified by adjoiningResourceGroup in the ordering
        • AFTER: Place this resource group after the one specified by adjoiningResourceGroup in the ordering
        The default value is EMPTY_STRING.
        adjoiningResourceGroup - If ranking is BEFORE or AFTER, this field indicates the resource group before or after which the current group will be placed; otherwise, leave blank. The default value is ''.
        options - Optional parameters.
        • MAX_CPU_CONCURRENCY: Maximum number of simultaneous threads that will be used to execute a request, per rank, for this group. The minimum allowed value is '4'.
        • MAX_DATA: Maximum amount of data, per rank, in bytes, that can be used by all database objects within this group. Set to -1 to indicate no upper limit. The minimum allowed value is '-1'.
        • MAX_SCHEDULING_PRIORITY: Maximum priority of a scheduled task for this group. The minimum allowed value is '1'. The maximum allowed value is '100'.
        • MAX_TIER_PRIORITY: Maximum priority of a tiered object for this group. The minimum allowed value is '1'. The maximum allowed value is '10'.
        • IS_DEFAULT_GROUP: If TRUE, this request applies to the global default resource group. It is an error for this field to be TRUE when the name field is also populated. Supported values: The default value is FALSE.
        • PERSIST: If TRUE and a system-level change was requested, the system configuration will be written to disk upon successful application of this request. This will commit the changes from this request and any additional in-memory modifications. Supported values: The default value is TRUE.
        The default value is an empty Map.
    • Method Detail

      • getClassSchema

        public static org.apache.avro.Schema getClassSchema()
        This method supports the Avro framework and is not intended to be called directly by the user.
        Returns:
        The schema for the class.
      • getName

        public String getName()
        Name of the group to be altered. Must be an existing resource group name or an empty string when used in conjunction with IS_DEFAULT_GROUP.
        Returns:
        The current value of name.
      • setName

        public AlterResourceGroupRequest setName​(String name)
        Name of the group to be altered. Must be an existing resource group name or an empty string when used in conjunction with IS_DEFAULT_GROUP.
        Parameters:
        name - The new value for name.
        Returns:
        this to mimic the builder pattern.
      • getTierAttributes

        public Map<String,​Map<String,​String>> getTierAttributes()
        Optional map containing tier names and their respective attribute group limits. The only valid attribute limit that can be set is max_memory (in bytes) for the VRAM and RAM tiers.

        For instance, to set max VRAM capacity to 1GB per rank per GPU and max RAM capacity to 10GB per rank, use: {'VRAM':{'max_memory':'1000000000'}, 'RAM':{'max_memory':'10000000000'}}.

        • MAX_MEMORY: Maximum amount of memory usable at one time, per rank, per GPU, for the VRAM tier; or maximum amount of memory usable at one time, per rank, for the RAM tier.
        The default value is an empty Map.
        Returns:
        The current value of tierAttributes.
      • setTierAttributes

        public AlterResourceGroupRequest setTierAttributes​(Map<String,​Map<String,​String>> tierAttributes)
        Optional map containing tier names and their respective attribute group limits. The only valid attribute limit that can be set is max_memory (in bytes) for the VRAM and RAM tiers.

        For instance, to set max VRAM capacity to 1GB per rank per GPU and max RAM capacity to 10GB per rank, use: {'VRAM':{'max_memory':'1000000000'}, 'RAM':{'max_memory':'10000000000'}}.

        • MAX_MEMORY: Maximum amount of memory usable at one time, per rank, per GPU, for the VRAM tier; or maximum amount of memory usable at one time, per rank, for the RAM tier.
        The default value is an empty Map.
        Parameters:
        tierAttributes - The new value for tierAttributes.
        Returns:
        this to mimic the builder pattern.
      • getRanking

        public String getRanking()
        If the resource group ranking is to be updated, this indicates the relative ranking among existing resource groups where this resource group will be placed. Supported values: The default value is EMPTY_STRING.
        Returns:
        The current value of ranking.
      • setRanking

        public AlterResourceGroupRequest setRanking​(String ranking)
        If the resource group ranking is to be updated, this indicates the relative ranking among existing resource groups where this resource group will be placed. Supported values: The default value is EMPTY_STRING.
        Parameters:
        ranking - The new value for ranking.
        Returns:
        this to mimic the builder pattern.
      • getAdjoiningResourceGroup

        public String getAdjoiningResourceGroup()
        If ranking is BEFORE or AFTER, this field indicates the resource group before or after which the current group will be placed; otherwise, leave blank. The default value is ''.
        Returns:
        The current value of adjoiningResourceGroup.
      • setAdjoiningResourceGroup

        public AlterResourceGroupRequest setAdjoiningResourceGroup​(String adjoiningResourceGroup)
        If ranking is BEFORE or AFTER, this field indicates the resource group before or after which the current group will be placed; otherwise, leave blank. The default value is ''.
        Parameters:
        adjoiningResourceGroup - The new value for adjoiningResourceGroup.
        Returns:
        this to mimic the builder pattern.
      • getOptions

        public Map<String,​String> getOptions()
        Optional parameters.
        • MAX_CPU_CONCURRENCY: Maximum number of simultaneous threads that will be used to execute a request, per rank, for this group. The minimum allowed value is '4'.
        • MAX_DATA: Maximum amount of data, per rank, in bytes, that can be used by all database objects within this group. Set to -1 to indicate no upper limit. The minimum allowed value is '-1'.
        • MAX_SCHEDULING_PRIORITY: Maximum priority of a scheduled task for this group. The minimum allowed value is '1'. The maximum allowed value is '100'.
        • MAX_TIER_PRIORITY: Maximum priority of a tiered object for this group. The minimum allowed value is '1'. The maximum allowed value is '10'.
        • IS_DEFAULT_GROUP: If TRUE, this request applies to the global default resource group. It is an error for this field to be TRUE when the name field is also populated. Supported values: The default value is FALSE.
        • PERSIST: If TRUE and a system-level change was requested, the system configuration will be written to disk upon successful application of this request. This will commit the changes from this request and any additional in-memory modifications. Supported values: The default value is TRUE.
        The default value is an empty Map.
        Returns:
        The current value of options.
      • setOptions

        public AlterResourceGroupRequest setOptions​(Map<String,​String> options)
        Optional parameters.
        • MAX_CPU_CONCURRENCY: Maximum number of simultaneous threads that will be used to execute a request, per rank, for this group. The minimum allowed value is '4'.
        • MAX_DATA: Maximum amount of data, per rank, in bytes, that can be used by all database objects within this group. Set to -1 to indicate no upper limit. The minimum allowed value is '-1'.
        • MAX_SCHEDULING_PRIORITY: Maximum priority of a scheduled task for this group. The minimum allowed value is '1'. The maximum allowed value is '100'.
        • MAX_TIER_PRIORITY: Maximum priority of a tiered object for this group. The minimum allowed value is '1'. The maximum allowed value is '10'.
        • IS_DEFAULT_GROUP: If TRUE, this request applies to the global default resource group. It is an error for this field to be TRUE when the name field is also populated. Supported values: The default value is FALSE.
        • PERSIST: If TRUE and a system-level change was requested, the system configuration will be written to disk upon successful application of this request. This will commit the changes from this request and any additional in-memory modifications. Supported values: The default value is TRUE.
        The default value is an empty Map.
        Parameters:
        options - The new value for options.
        Returns:
        this to mimic the builder pattern.
      • getSchema

        public org.apache.avro.Schema getSchema()
        This method supports the Avro framework and is not intended to be called directly by the user.
        Specified by:
        getSchema in interface org.apache.avro.generic.GenericContainer
        Returns:
        The schema object describing this class.
      • get

        public Object get​(int index)
        This method supports the Avro framework and is not intended to be called directly by the user.
        Specified by:
        get in interface org.apache.avro.generic.IndexedRecord
        Parameters:
        index - the position of the field to get
        Returns:
        value of the field with the given index.
        Throws:
        IndexOutOfBoundsException
      • put

        public void put​(int index,
                        Object value)
        This method supports the Avro framework and is not intended to be called directly by the user.
        Specified by:
        put in interface org.apache.avro.generic.IndexedRecord
        Parameters:
        index - the position of the field to set
        value - the value to set
        Throws:
        IndexOutOfBoundsException
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object