Class: Vellum::SlimDeploymentRead

Inherits:
Object
  • Object
show all
Defined in:
lib/vellum_ai/types/slim_deployment_read.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(id:, created:, label:, name:, last_deployed_on:, input_variables:, status: nil, environment: nil, additional_properties: nil) ⇒ SlimDeploymentRead

Parameters:

  • id (String)
  • created (DateTime)
  • label (String)

    A human-readable label for the deployment

  • name (String)

    A name that uniquely identifies this deployment within its workspace

  • status (ENTITY_STATUS) (defaults to: nil)

    The current status of the deployment

    • ‘ACTIVE` - Active

    • ‘ARCHIVED` - Archived

  • environment (ENVIRONMENT_ENUM) (defaults to: nil)

    The environment this deployment is used in

    • ‘DEVELOPMENT` - Development

    • ‘STAGING` - Staging

    • ‘PRODUCTION` - Production

  • last_deployed_on (DateTime)
  • input_variables (Array<VellumVariable>)
  • additional_properties (OpenStruct) (defaults to: nil)

    Additional properties unmapped to the current class definition



29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# File 'lib/vellum_ai/types/slim_deployment_read.rb', line 29

def initialize(id:, created:, label:, name:, last_deployed_on:, input_variables:, status: nil, environment: nil,
               additional_properties: nil)
  # @type [String]
  @id = id
  # @type [DateTime]
  @created = created
  # @type [String] A human-readable label for the deployment
  @label = label
  # @type [String] A name that uniquely identifies this deployment within its workspace
  @name = name
  # @type [ENTITY_STATUS] The current status of the deployment
  #   - `ACTIVE` - Active
  #   - `ARCHIVED` - Archived
  @status = status
  # @type [ENVIRONMENT_ENUM] The environment this deployment is used in
  #   - `DEVELOPMENT` - Development
  #   - `STAGING` - Staging
  #   - `PRODUCTION` - Production
  @environment = environment
  # @type [DateTime]
  @last_deployed_on = last_deployed_on
  # @type [Array<VellumVariable>]
  @input_variables = input_variables
  # @type [OpenStruct] Additional properties unmapped to the current class definition
  @additional_properties = additional_properties
end

Instance Attribute Details

#additional_propertiesObject (readonly)

Returns the value of attribute additional_properties.



11
12
13
# File 'lib/vellum_ai/types/slim_deployment_read.rb', line 11

def additional_properties
  @additional_properties
end

#createdObject (readonly)

Returns the value of attribute created.



11
12
13
# File 'lib/vellum_ai/types/slim_deployment_read.rb', line 11

def created
  @created
end

#environmentObject (readonly)

Returns the value of attribute environment.



11
12
13
# File 'lib/vellum_ai/types/slim_deployment_read.rb', line 11

def environment
  @environment
end

#idObject (readonly)

Returns the value of attribute id.



11
12
13
# File 'lib/vellum_ai/types/slim_deployment_read.rb', line 11

def id
  @id
end

#input_variablesObject (readonly)

Returns the value of attribute input_variables.



11
12
13
# File 'lib/vellum_ai/types/slim_deployment_read.rb', line 11

def input_variables
  @input_variables
end

#labelObject (readonly)

Returns the value of attribute label.



11
12
13
# File 'lib/vellum_ai/types/slim_deployment_read.rb', line 11

def label
  @label
end

#last_deployed_onObject (readonly)

Returns the value of attribute last_deployed_on.



11
12
13
# File 'lib/vellum_ai/types/slim_deployment_read.rb', line 11

def last_deployed_on
  @last_deployed_on
end

#nameObject (readonly)

Returns the value of attribute name.



11
12
13
# File 'lib/vellum_ai/types/slim_deployment_read.rb', line 11

def name
  @name
end

#statusObject (readonly)

Returns the value of attribute status.



11
12
13
# File 'lib/vellum_ai/types/slim_deployment_read.rb', line 11

def status
  @status
end

Class Method Details

.from_json(json_object:) ⇒ SlimDeploymentRead

Deserialize a JSON object to an instance of SlimDeploymentRead

Parameters:

  • json_object (JSON)

Returns:



60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
# File 'lib/vellum_ai/types/slim_deployment_read.rb', line 60

def self.from_json(json_object:)
  struct = JSON.parse(json_object, object_class: OpenStruct)
  parsed_json = JSON.parse(json_object)
  id = struct.id
  created = DateTime.parse(parsed_json["created"])
  label = struct.label
  name = struct.name
  status = ENTITY_STATUS.key(parsed_json["status"]) || parsed_json["status"]
  environment = ENVIRONMENT_ENUM.key(parsed_json["environment"]) || parsed_json["environment"]
  last_deployed_on = DateTime.parse(parsed_json["last_deployed_on"])
  input_variables = parsed_json["input_variables"].map do |v|
    v = v.to_json
    VellumVariable.from_json(json_object: v)
  end
  new(id: id, created: created, label: label, name: name, status: status, environment: environment,
      last_deployed_on: last_deployed_on, input_variables: input_variables, additional_properties: struct)
end

.validate_raw(obj:) ⇒ Void

Leveraged for Union-type generation, validate_raw attempts to parse the given hash and check each fields type against the current object’s property definitions.

Parameters:

  • obj (Object)

Returns:

  • (Void)


98
99
100
101
102
103
104
105
106
107
# File 'lib/vellum_ai/types/slim_deployment_read.rb', line 98

def self.validate_raw(obj:)
  obj.id.is_a?(String) != false || raise("Passed value for field obj.id is not the expected type, validation failed.")
  obj.created.is_a?(DateTime) != false || raise("Passed value for field obj.created is not the expected type, validation failed.")
  obj.label.is_a?(String) != false || raise("Passed value for field obj.label is not the expected type, validation failed.")
  obj.name.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
  obj.status&.is_a?(ENTITY_STATUS) != false || raise("Passed value for field obj.status is not the expected type, validation failed.")
  obj.environment&.is_a?(ENVIRONMENT_ENUM) != false || raise("Passed value for field obj.environment is not the expected type, validation failed.")
  obj.last_deployed_on.is_a?(DateTime) != false || raise("Passed value for field obj.last_deployed_on is not the expected type, validation failed.")
  obj.input_variables.is_a?(Array) != false || raise("Passed value for field obj.input_variables is not the expected type, validation failed.")
end

Instance Method Details

#to_json(*_args) ⇒ JSON

Serialize an instance of SlimDeploymentRead to a JSON object

Returns:

  • (JSON)


81
82
83
84
85
86
87
88
89
90
91
92
# File 'lib/vellum_ai/types/slim_deployment_read.rb', line 81

def to_json(*_args)
  {
    "id": @id,
    "created": @created,
    "label": @label,
    "name": @name,
    "status": ENTITY_STATUS[@status] || @status,
    "environment": ENVIRONMENT_ENUM[@environment] || @environment,
    "last_deployed_on": @last_deployed_on,
    "input_variables": @input_variables
  }.to_json
end