Class: Verizon::ResourcesServiceProfileWithId

Inherits:
BaseModel
  • Object
show all
Defined in:
lib/verizon/models/resources_service_profile_with_id.rb

Overview

Information about the resource requirements and service characteristics of an edge application. Includes serviceProfileId. Used when retrieving a service profile.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from BaseModel

#check_for_conflict, #process_additional_properties, #process_array, #process_basic_value, #process_hash, #to_hash, #to_json

Constructor Details

#initialize(client_type:, service_profile_id: SKIP, ecsp_filter: SKIP, client_schedule: SKIP, client_service_area: SKIP, network_resources: SKIP, compute_resources: SKIP, properties: SKIP) ⇒ ResourcesServiceProfileWithId

Returns a new instance of ResourcesServiceProfileWithId.



80
81
82
83
84
85
86
87
88
89
90
91
92
# File 'lib/verizon/models/resources_service_profile_with_id.rb', line 80

def initialize(client_type:, service_profile_id: SKIP, ecsp_filter: SKIP,
               client_schedule: SKIP, client_service_area: SKIP,
               network_resources: SKIP, compute_resources: SKIP,
               properties: SKIP)
  @service_profile_id = service_profile_id unless service_profile_id == SKIP
  @client_type = client_type
  @ecsp_filter = ecsp_filter unless ecsp_filter == SKIP
  @client_schedule = client_schedule unless client_schedule == SKIP
  @client_service_area = client_service_area unless client_service_area == SKIP
  @network_resources = network_resources unless network_resources == SKIP
  @compute_resources = compute_resources unless compute_resources == SKIP
  @properties = properties unless properties == SKIP
end

Instance Attribute Details

#client_scheduleString

The expected operation schedule of the application client (e.g. time windows).

Returns:

  • (String)


29
30
31
# File 'lib/verizon/models/resources_service_profile_with_id.rb', line 29

def client_schedule
  @client_schedule
end

#client_service_areaString

The expected location(s) (e.g. route) of the hosting UE during the Client’s operation schedule.

Returns:

  • (String)


34
35
36
# File 'lib/verizon/models/resources_service_profile_with_id.rb', line 34

def client_service_area
  @client_service_area
end

#client_typeClientType

The category of application client.

Returns:



20
21
22
# File 'lib/verizon/models/resources_service_profile_with_id.rb', line 20

def client_type
  @client_type
end

#compute_resourcesComputeResourcesType

Compute resources of a service profile.



42
43
44
# File 'lib/verizon/models/resources_service_profile_with_id.rb', line 42

def compute_resources
  @compute_resources
end

#ecsp_filterString

Identity of the preferred Edge Computing Service Provider.

Returns:

  • (String)


24
25
26
# File 'lib/verizon/models/resources_service_profile_with_id.rb', line 24

def ecsp_filter
  @ecsp_filter
end

#network_resourcesNetworkResourcesType

Network resources of a service profile.



38
39
40
# File 'lib/verizon/models/resources_service_profile_with_id.rb', line 38

def network_resources
  @network_resources
end

#propertiesMecPlatformsAdditionalSupportInfo

Additional service support information for the MEC platform.



46
47
48
# File 'lib/verizon/models/resources_service_profile_with_id.rb', line 46

def properties
  @properties
end

#service_profile_idString

Unique identifier for a service profile.

Returns:

  • (String)


16
17
18
# File 'lib/verizon/models/resources_service_profile_with_id.rb', line 16

def service_profile_id
  @service_profile_id
end

Class Method Details

.from_hash(hash) ⇒ Object

Creates an instance of the object from a hash.



95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
# File 'lib/verizon/models/resources_service_profile_with_id.rb', line 95

def self.from_hash(hash)
  return nil unless hash

  # Extract variables from the hash.
  client_type = hash.key?('clientType') ? hash['clientType'] : nil
  service_profile_id =
    hash.key?('serviceProfileId') ? hash['serviceProfileId'] : SKIP
  ecsp_filter = hash.key?('ecspFilter') ? hash['ecspFilter'] : SKIP
  client_schedule =
    hash.key?('clientSchedule') ? hash['clientSchedule'] : SKIP
  client_service_area =
    hash.key?('clientServiceArea') ? hash['clientServiceArea'] : SKIP
  network_resources = NetworkResourcesType.from_hash(hash['networkResources']) if
    hash['networkResources']
  compute_resources = ComputeResourcesType.from_hash(hash['computeResources']) if
    hash['computeResources']
  properties = MecPlatformsAdditionalSupportInfo.from_hash(hash['properties']) if
    hash['properties']

  # Create object from extracted values.
  ResourcesServiceProfileWithId.new(client_type: client_type,
                                    service_profile_id: service_profile_id,
                                    ecsp_filter: ecsp_filter,
                                    client_schedule: client_schedule,
                                    client_service_area: client_service_area,
                                    network_resources: network_resources,
                                    compute_resources: compute_resources,
                                    properties: properties)
end

.namesObject

A mapping from model property names to API property names.



49
50
51
52
53
54
55
56
57
58
59
60
# File 'lib/verizon/models/resources_service_profile_with_id.rb', line 49

def self.names
  @_hash = {} if @_hash.nil?
  @_hash['service_profile_id'] = 'serviceProfileId'
  @_hash['client_type'] = 'clientType'
  @_hash['ecsp_filter'] = 'ecspFilter'
  @_hash['client_schedule'] = 'clientSchedule'
  @_hash['client_service_area'] = 'clientServiceArea'
  @_hash['network_resources'] = 'networkResources'
  @_hash['compute_resources'] = 'computeResources'
  @_hash['properties'] = 'properties'
  @_hash
end

.nullablesObject

An array for nullable fields



76
77
78
# File 'lib/verizon/models/resources_service_profile_with_id.rb', line 76

def self.nullables
  []
end

.optionalsObject

An array for optional fields



63
64
65
66
67
68
69
70
71
72
73
# File 'lib/verizon/models/resources_service_profile_with_id.rb', line 63

def self.optionals
  %w[
    service_profile_id
    ecsp_filter
    client_schedule
    client_service_area
    network_resources
    compute_resources
    properties
  ]
end

Instance Method Details

#inspectObject

Provides a debugging-friendly string with detailed object information.



135
136
137
138
139
140
141
142
# File 'lib/verizon/models/resources_service_profile_with_id.rb', line 135

def inspect
  class_name = self.class.name.split('::').last
  "<#{class_name} service_profile_id: #{@service_profile_id.inspect}, client_type:"\
  " #{@client_type.inspect}, ecsp_filter: #{@ecsp_filter.inspect}, client_schedule:"\
  " #{@client_schedule.inspect}, client_service_area: #{@client_service_area.inspect},"\
  " network_resources: #{@network_resources.inspect}, compute_resources:"\
  " #{@compute_resources.inspect}, properties: #{@properties.inspect}>"
end

#to_sObject

Provides a human-readable string representation of the object.



126
127
128
129
130
131
132
# File 'lib/verizon/models/resources_service_profile_with_id.rb', line 126

def to_s
  class_name = self.class.name.split('::').last
  "<#{class_name} service_profile_id: #{@service_profile_id}, client_type: #{@client_type},"\
  " ecsp_filter: #{@ecsp_filter}, client_schedule: #{@client_schedule}, client_service_area:"\
  " #{@client_service_area}, network_resources: #{@network_resources}, compute_resources:"\
  " #{@compute_resources}, properties: #{@properties}>"
end