test-sdk-raza 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +28 -0
  3. data/README.md +116 -0
  4. data/lib/api_endpoints_for5_g_business_internet5_g_bi/api_helper.rb +10 -0
  5. data/lib/api_endpoints_for5_g_business_internet5_g_bi/apis/base_api.rb +67 -0
  6. data/lib/api_endpoints_for5_g_business_internet5_g_bi/apis/m5_gbi_device_actions_api.rb +91 -0
  7. data/lib/api_endpoints_for5_g_business_internet5_g_bi/apis/oauth_authorization_api.rb +44 -0
  8. data/lib/api_endpoints_for5_g_business_internet5_g_bi/client.rb +80 -0
  9. data/lib/api_endpoints_for5_g_business_internet5_g_bi/configuration.rb +116 -0
  10. data/lib/api_endpoints_for5_g_business_internet5_g_bi/exceptions/api_exception.rb +21 -0
  11. data/lib/api_endpoints_for5_g_business_internet5_g_bi/exceptions/m5_gbi_rest_error_response_exception.rb +52 -0
  12. data/lib/api_endpoints_for5_g_business_internet5_g_bi/exceptions/oauth_provider_exception.rb +64 -0
  13. data/lib/api_endpoints_for5_g_business_internet5_g_bi/http/api_response.rb +19 -0
  14. data/lib/api_endpoints_for5_g_business_internet5_g_bi/http/auth/thingspace_oauth.rb +133 -0
  15. data/lib/api_endpoints_for5_g_business_internet5_g_bi/http/auth/vz_m2_m_session_token.rb +42 -0
  16. data/lib/api_endpoints_for5_g_business_internet5_g_bi/http/http_call_back.rb +10 -0
  17. data/lib/api_endpoints_for5_g_business_internet5_g_bi/http/http_method_enum.rb +10 -0
  18. data/lib/api_endpoints_for5_g_business_internet5_g_bi/http/http_request.rb +10 -0
  19. data/lib/api_endpoints_for5_g_business_internet5_g_bi/http/http_response.rb +10 -0
  20. data/lib/api_endpoints_for5_g_business_internet5_g_bi/http/proxy_settings.rb +13 -0
  21. data/lib/api_endpoints_for5_g_business_internet5_g_bi/logging/configuration/api_logging_configuration.rb +114 -0
  22. data/lib/api_endpoints_for5_g_business_internet5_g_bi/logging/sdk_logger.rb +17 -0
  23. data/lib/api_endpoints_for5_g_business_internet5_g_bi/models/base_model.rb +110 -0
  24. data/lib/api_endpoints_for5_g_business_internet5_g_bi/models/group_name.rb +85 -0
  25. data/lib/api_endpoints_for5_g_business_internet5_g_bi/models/m5_gbi_address.rb +154 -0
  26. data/lib/api_endpoints_for5_g_business_internet5_g_bi/models/m5_gbi_carrier_information.rb +86 -0
  27. data/lib/api_endpoints_for5_g_business_internet5_g_bi/models/m5_gbi_customer_name.rb +125 -0
  28. data/lib/api_endpoints_for5_g_business_internet5_g_bi/models/m5_gbi_request_response.rb +76 -0
  29. data/lib/api_endpoints_for5_g_business_internet5_g_bi/models/m5_gbiaccount_nameobject.rb +228 -0
  30. data/lib/api_endpoints_for5_g_business_internet5_g_bi/models/m5_gbiactivate_request.rb +146 -0
  31. data/lib/api_endpoints_for5_g_business_internet5_g_bi/models/m5_gbiaddress_andcustomerinfo.rb +87 -0
  32. data/lib/api_endpoints_for5_g_business_internet5_g_bi/models/m5_gbiaddress_andcustomerinfo2.rb +87 -0
  33. data/lib/api_endpoints_for5_g_business_internet5_g_bi/models/m5_gbiattribute1.rb +84 -0
  34. data/lib/api_endpoints_for5_g_business_internet5_g_bi/models/m5_gbiattribute2.rb +95 -0
  35. data/lib/api_endpoints_for5_g_business_internet5_g_bi/models/m5_gbichange_request.rb +126 -0
  36. data/lib/api_endpoints_for5_g_business_internet5_g_bi/models/m5_gbidevice_detailsresponse.rb +95 -0
  37. data/lib/api_endpoints_for5_g_business_internet5_g_bi/models/m5_gbidevice_id.rb +76 -0
  38. data/lib/api_endpoints_for5_g_business_internet5_g_bi/models/m5_gbidevice_id1.rb +95 -0
  39. data/lib/api_endpoints_for5_g_business_internet5_g_bi/models/m5_gbidevice_idarray.rb +88 -0
  40. data/lib/api_endpoints_for5_g_business_internet5_g_bi/models/m5_gbidevice_idarray2.rb +95 -0
  41. data/lib/api_endpoints_for5_g_business_internet5_g_bi/models/m5_gbikey_value1.rb +95 -0
  42. data/lib/api_endpoints_for5_g_business_internet5_g_bi/models/m5_gbiprimary_placeofuse.rb +96 -0
  43. data/lib/api_endpoints_for5_g_business_internet5_g_bi/models/oauth_provider_error.rb +45 -0
  44. data/lib/api_endpoints_for5_g_business_internet5_g_bi/models/oauth_token.rb +96 -0
  45. data/lib/api_endpoints_for5_g_business_internet5_g_bi/utilities/date_time_helper.rb +11 -0
  46. data/lib/api_endpoints_for5_g_business_internet5_g_bi/utilities/file_wrapper.rb +28 -0
  47. data/lib/api_endpoints_for5_g_business_internet5_g_bi/utilities/union_type_lookup.rb +85 -0
  48. data/lib/api_endpoints_for5_g_business_internet5_g_bi.rb +110 -0
  49. metadata +132 -0
@@ -0,0 +1,154 @@
1
+ # api_endpoints_for5_g_business_internet5_g_bi
2
+ #
3
+ # This file was automatically
4
+ # generated by APIMATIC v3.0 ( https://www.apimatic.io ).
5
+
6
+ module ApiEndpointsFor5GBusinessInternet5GBi
7
+ # M5GbiAddress Model.
8
+ class M5GbiAddress < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # TODO: Write general description for this method
13
+ # @return [String]
14
+ attr_accessor :address_line1
15
+
16
+ # TODO: Write general description for this method
17
+ # @return [String]
18
+ attr_accessor :city
19
+
20
+ # TODO: Write general description for this method
21
+ # @return [String]
22
+ attr_accessor :state
23
+
24
+ # TODO: Write general description for this method
25
+ # @return [String]
26
+ attr_accessor :zip
27
+
28
+ # TODO: Write general description for this method
29
+ # @return [String]
30
+ attr_accessor :zip_4
31
+
32
+ # TODO: Write general description for this method
33
+ # @return [String]
34
+ attr_accessor :phone
35
+
36
+ # TODO: Write general description for this method
37
+ # @return [String]
38
+ attr_accessor :phone_type
39
+
40
+ # TODO: Write general description for this method
41
+ # @return [String]
42
+ attr_accessor :email_address
43
+
44
+ # A mapping from model property names to API property names.
45
+ def self.names
46
+ @_hash = {} if @_hash.nil?
47
+ @_hash['address_line1'] = 'addressLine1'
48
+ @_hash['city'] = 'city'
49
+ @_hash['state'] = 'state'
50
+ @_hash['zip'] = 'zip'
51
+ @_hash['zip_4'] = 'zip+4'
52
+ @_hash['phone'] = 'phone'
53
+ @_hash['phone_type'] = 'phoneType'
54
+ @_hash['email_address'] = 'emailAddress'
55
+ @_hash
56
+ end
57
+
58
+ # An array for optional fields
59
+ def self.optionals
60
+ %w[
61
+ address_line1
62
+ city
63
+ state
64
+ zip
65
+ zip_4
66
+ phone
67
+ phone_type
68
+ email_address
69
+ ]
70
+ end
71
+
72
+ # An array for nullable fields
73
+ def self.nullables
74
+ []
75
+ end
76
+
77
+ def initialize(address_line1: SKIP, city: SKIP, state: SKIP, zip: SKIP,
78
+ zip_4: SKIP, phone: SKIP, phone_type: SKIP,
79
+ email_address: SKIP, additional_properties: nil)
80
+ # Add additional model properties to the instance
81
+ additional_properties = {} if additional_properties.nil?
82
+
83
+ @address_line1 = address_line1 unless address_line1 == SKIP
84
+ @city = city unless city == SKIP
85
+ @state = state unless state == SKIP
86
+ @zip = zip unless zip == SKIP
87
+ @zip_4 = zip_4 unless zip_4 == SKIP
88
+ @phone = phone unless phone == SKIP
89
+ @phone_type = phone_type unless phone_type == SKIP
90
+ @email_address = email_address unless email_address == SKIP
91
+ @additional_properties = additional_properties
92
+ end
93
+
94
+ # Creates an instance of the object from a hash.
95
+ def self.from_hash(hash)
96
+ return nil unless hash
97
+
98
+ # Extract variables from the hash.
99
+ address_line1 = hash.key?('addressLine1') ? hash['addressLine1'] : SKIP
100
+ city = hash.key?('city') ? hash['city'] : SKIP
101
+ state = hash.key?('state') ? hash['state'] : SKIP
102
+ zip = hash.key?('zip') ? hash['zip'] : SKIP
103
+ zip_4 = hash.key?('zip+4') ? hash['zip+4'] : SKIP
104
+ phone = hash.key?('phone') ? hash['phone'] : SKIP
105
+ phone_type = hash.key?('phoneType') ? hash['phoneType'] : SKIP
106
+ email_address = hash.key?('emailAddress') ? hash['emailAddress'] : SKIP
107
+
108
+ # Create a new hash for additional properties, removing known properties.
109
+ new_hash = hash.reject { |k, _| names.value?(k) }
110
+
111
+ additional_properties = APIHelper.get_additional_properties(
112
+ new_hash, proc { |value| value }
113
+ )
114
+
115
+ # Create object from extracted values.
116
+ M5GbiAddress.new(address_line1: address_line1,
117
+ city: city,
118
+ state: state,
119
+ zip: zip,
120
+ zip_4: zip_4,
121
+ phone: phone,
122
+ phone_type: phone_type,
123
+ email_address: email_address,
124
+ additional_properties: additional_properties)
125
+ end
126
+
127
+ # Validates an instance of the object from a given value.
128
+ # @param [M5GbiAddress | Hash] The value against the validation is performed.
129
+ def self.validate(value)
130
+ return true if value.instance_of? self
131
+
132
+ return false unless value.instance_of? Hash
133
+
134
+ true
135
+ end
136
+
137
+ # Provides a human-readable string representation of the object.
138
+ def to_s
139
+ class_name = self.class.name.split('::').last
140
+ "<#{class_name} address_line1: #{@address_line1}, city: #{@city}, state: #{@state}, zip:"\
141
+ " #{@zip}, zip_4: #{@zip_4}, phone: #{@phone}, phone_type: #{@phone_type}, email_address:"\
142
+ " #{@email_address}, additional_properties: #{@additional_properties}>"
143
+ end
144
+
145
+ # Provides a debugging-friendly string with detailed object information.
146
+ def inspect
147
+ class_name = self.class.name.split('::').last
148
+ "<#{class_name} address_line1: #{@address_line1.inspect}, city: #{@city.inspect}, state:"\
149
+ " #{@state.inspect}, zip: #{@zip.inspect}, zip_4: #{@zip_4.inspect}, phone:"\
150
+ " #{@phone.inspect}, phone_type: #{@phone_type.inspect}, email_address:"\
151
+ " #{@email_address.inspect}, additional_properties: #{@additional_properties}>"
152
+ end
153
+ end
154
+ end
@@ -0,0 +1,86 @@
1
+ # api_endpoints_for5_g_business_internet5_g_bi
2
+ #
3
+ # This file was automatically
4
+ # generated by APIMATIC v3.0 ( https://www.apimatic.io ).
5
+
6
+ module ApiEndpointsFor5GBusinessInternet5GBi
7
+ # M5GbiCarrierInformation Model.
8
+ class M5GbiCarrierInformation < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # TODO: Write general description for this method
13
+ # @return [String]
14
+ attr_accessor :carrier_name
15
+
16
+ # A mapping from model property names to API property names.
17
+ def self.names
18
+ @_hash = {} if @_hash.nil?
19
+ @_hash['carrier_name'] = 'carrierName'
20
+ @_hash
21
+ end
22
+
23
+ # An array for optional fields
24
+ def self.optionals
25
+ %w[
26
+ carrier_name
27
+ ]
28
+ end
29
+
30
+ # An array for nullable fields
31
+ def self.nullables
32
+ []
33
+ end
34
+
35
+ def initialize(carrier_name: SKIP, additional_properties: nil)
36
+ # Add additional model properties to the instance
37
+ additional_properties = {} if additional_properties.nil?
38
+
39
+ @carrier_name = carrier_name unless carrier_name == SKIP
40
+ @additional_properties = additional_properties
41
+ end
42
+
43
+ # Creates an instance of the object from a hash.
44
+ def self.from_hash(hash)
45
+ return nil unless hash
46
+
47
+ # Extract variables from the hash.
48
+ carrier_name = hash.key?('carrierName') ? hash['carrierName'] : SKIP
49
+
50
+ # Create a new hash for additional properties, removing known properties.
51
+ new_hash = hash.reject { |k, _| names.value?(k) }
52
+
53
+ additional_properties = APIHelper.get_additional_properties(
54
+ new_hash, proc { |value| value }
55
+ )
56
+
57
+ # Create object from extracted values.
58
+ M5GbiCarrierInformation.new(carrier_name: carrier_name,
59
+ additional_properties: additional_properties)
60
+ end
61
+
62
+ # Validates an instance of the object from a given value.
63
+ # @param [M5GbiCarrierInformation | Hash] The value against the validation is performed.
64
+ def self.validate(value)
65
+ return true if value.instance_of? self
66
+
67
+ return false unless value.instance_of? Hash
68
+
69
+ true
70
+ end
71
+
72
+ # Provides a human-readable string representation of the object.
73
+ def to_s
74
+ class_name = self.class.name.split('::').last
75
+ "<#{class_name} carrier_name: #{@carrier_name}, additional_properties:"\
76
+ " #{@additional_properties}>"
77
+ end
78
+
79
+ # Provides a debugging-friendly string with detailed object information.
80
+ def inspect
81
+ class_name = self.class.name.split('::').last
82
+ "<#{class_name} carrier_name: #{@carrier_name.inspect}, additional_properties:"\
83
+ " #{@additional_properties}>"
84
+ end
85
+ end
86
+ end
@@ -0,0 +1,125 @@
1
+ # api_endpoints_for5_g_business_internet5_g_bi
2
+ #
3
+ # This file was automatically
4
+ # generated by APIMATIC v3.0 ( https://www.apimatic.io ).
5
+
6
+ module ApiEndpointsFor5GBusinessInternet5GBi
7
+ # M5GbiCustomerName Model.
8
+ class M5GbiCustomerName < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # TODO: Write general description for this method
13
+ # @return [String]
14
+ attr_accessor :first_name
15
+
16
+ # TODO: Write general description for this method
17
+ # @return [String]
18
+ attr_accessor :last_name
19
+
20
+ # TODO: Write general description for this method
21
+ # @return [String]
22
+ attr_accessor :middle_name
23
+
24
+ # TODO: Write general description for this method
25
+ # @return [String]
26
+ attr_accessor :title
27
+
28
+ # TODO: Write general description for this method
29
+ # @return [String]
30
+ attr_accessor :suffex
31
+
32
+ # A mapping from model property names to API property names.
33
+ def self.names
34
+ @_hash = {} if @_hash.nil?
35
+ @_hash['first_name'] = 'firstName'
36
+ @_hash['last_name'] = 'lastName'
37
+ @_hash['middle_name'] = 'middleName'
38
+ @_hash['title'] = 'title'
39
+ @_hash['suffex'] = 'suffex'
40
+ @_hash
41
+ end
42
+
43
+ # An array for optional fields
44
+ def self.optionals
45
+ %w[
46
+ first_name
47
+ last_name
48
+ middle_name
49
+ title
50
+ suffex
51
+ ]
52
+ end
53
+
54
+ # An array for nullable fields
55
+ def self.nullables
56
+ []
57
+ end
58
+
59
+ def initialize(first_name: SKIP, last_name: SKIP, middle_name: SKIP,
60
+ title: SKIP, suffex: SKIP, additional_properties: nil)
61
+ # Add additional model properties to the instance
62
+ additional_properties = {} if additional_properties.nil?
63
+
64
+ @first_name = first_name unless first_name == SKIP
65
+ @last_name = last_name unless last_name == SKIP
66
+ @middle_name = middle_name unless middle_name == SKIP
67
+ @title = title unless title == SKIP
68
+ @suffex = suffex unless suffex == SKIP
69
+ @additional_properties = additional_properties
70
+ end
71
+
72
+ # Creates an instance of the object from a hash.
73
+ def self.from_hash(hash)
74
+ return nil unless hash
75
+
76
+ # Extract variables from the hash.
77
+ first_name = hash.key?('firstName') ? hash['firstName'] : SKIP
78
+ last_name = hash.key?('lastName') ? hash['lastName'] : SKIP
79
+ middle_name = hash.key?('middleName') ? hash['middleName'] : SKIP
80
+ title = hash.key?('title') ? hash['title'] : SKIP
81
+ suffex = hash.key?('suffex') ? hash['suffex'] : SKIP
82
+
83
+ # Create a new hash for additional properties, removing known properties.
84
+ new_hash = hash.reject { |k, _| names.value?(k) }
85
+
86
+ additional_properties = APIHelper.get_additional_properties(
87
+ new_hash, proc { |value| value }
88
+ )
89
+
90
+ # Create object from extracted values.
91
+ M5GbiCustomerName.new(first_name: first_name,
92
+ last_name: last_name,
93
+ middle_name: middle_name,
94
+ title: title,
95
+ suffex: suffex,
96
+ additional_properties: additional_properties)
97
+ end
98
+
99
+ # Validates an instance of the object from a given value.
100
+ # @param [M5GbiCustomerName | Hash] The value against the validation is performed.
101
+ def self.validate(value)
102
+ return true if value.instance_of? self
103
+
104
+ return false unless value.instance_of? Hash
105
+
106
+ true
107
+ end
108
+
109
+ # Provides a human-readable string representation of the object.
110
+ def to_s
111
+ class_name = self.class.name.split('::').last
112
+ "<#{class_name} first_name: #{@first_name}, last_name: #{@last_name}, middle_name:"\
113
+ " #{@middle_name}, title: #{@title}, suffex: #{@suffex}, additional_properties:"\
114
+ " #{@additional_properties}>"
115
+ end
116
+
117
+ # Provides a debugging-friendly string with detailed object information.
118
+ def inspect
119
+ class_name = self.class.name.split('::').last
120
+ "<#{class_name} first_name: #{@first_name.inspect}, last_name: #{@last_name.inspect},"\
121
+ " middle_name: #{@middle_name.inspect}, title: #{@title.inspect}, suffex:"\
122
+ " #{@suffex.inspect}, additional_properties: #{@additional_properties}>"
123
+ end
124
+ end
125
+ end
@@ -0,0 +1,76 @@
1
+ # api_endpoints_for5_g_business_internet5_g_bi
2
+ #
3
+ # This file was automatically
4
+ # generated by APIMATIC v3.0 ( https://www.apimatic.io ).
5
+
6
+ module ApiEndpointsFor5GBusinessInternet5GBi
7
+ # M5GbiRequestResponse Model.
8
+ class M5GbiRequestResponse < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # TODO: Write general description for this method
13
+ # @return [String]
14
+ attr_accessor :request_id
15
+
16
+ # A mapping from model property names to API property names.
17
+ def self.names
18
+ @_hash = {} if @_hash.nil?
19
+ @_hash['request_id'] = 'requestId'
20
+ @_hash
21
+ end
22
+
23
+ # An array for optional fields
24
+ def self.optionals
25
+ %w[
26
+ request_id
27
+ ]
28
+ end
29
+
30
+ # An array for nullable fields
31
+ def self.nullables
32
+ []
33
+ end
34
+
35
+ def initialize(request_id: SKIP, additional_properties: nil)
36
+ # Add additional model properties to the instance
37
+ additional_properties = {} if additional_properties.nil?
38
+
39
+ @request_id = request_id unless request_id == SKIP
40
+ @additional_properties = additional_properties
41
+ end
42
+
43
+ # Creates an instance of the object from a hash.
44
+ def self.from_hash(hash)
45
+ return nil unless hash
46
+
47
+ # Extract variables from the hash.
48
+ request_id = hash.key?('requestId') ? hash['requestId'] : SKIP
49
+
50
+ # Create a new hash for additional properties, removing known properties.
51
+ new_hash = hash.reject { |k, _| names.value?(k) }
52
+
53
+ additional_properties = APIHelper.get_additional_properties(
54
+ new_hash, proc { |value| value }
55
+ )
56
+
57
+ # Create object from extracted values.
58
+ M5GbiRequestResponse.new(request_id: request_id,
59
+ additional_properties: additional_properties)
60
+ end
61
+
62
+ # Provides a human-readable string representation of the object.
63
+ def to_s
64
+ class_name = self.class.name.split('::').last
65
+ "<#{class_name} request_id: #{@request_id}, additional_properties:"\
66
+ " #{@additional_properties}>"
67
+ end
68
+
69
+ # Provides a debugging-friendly string with detailed object information.
70
+ def inspect
71
+ class_name = self.class.name.split('::').last
72
+ "<#{class_name} request_id: #{@request_id.inspect}, additional_properties:"\
73
+ " #{@additional_properties}>"
74
+ end
75
+ end
76
+ end
@@ -0,0 +1,228 @@
1
+ # api_endpoints_for5_g_business_internet5_g_bi
2
+ #
3
+ # This file was automatically
4
+ # generated by APIMATIC v3.0 ( https://www.apimatic.io ).
5
+
6
+ module ApiEndpointsFor5GBusinessInternet5GBi
7
+ # M5GbiaccountNameobject Model.
8
+ class M5GbiaccountNameobject < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # TODO: Write general description for this method
13
+ # @return [String]
14
+ attr_accessor :account_name
15
+
16
+ # TODO: Write general description for this method
17
+ # @return [String]
18
+ attr_accessor :billing_cycle_end_date
19
+
20
+ # TODO: Write general description for this method
21
+ # @return [Array[M5GbiCarrierInformation]]
22
+ attr_accessor :carrier_information
23
+
24
+ # TODO: Write general description for this method
25
+ # @return [TrueClass | FalseClass]
26
+ attr_accessor :connected
27
+
28
+ # TODO: Write general description for this method
29
+ # @return [String]
30
+ attr_accessor :created_at
31
+
32
+ # TODO: Write general description for this method
33
+ # @return [Array[Object]]
34
+ attr_accessor :custom_fields
35
+
36
+ # TODO: Write general description for this method
37
+ # @return [Array[Object]]
38
+ attr_accessor :device_ids
39
+
40
+ # TODO: Write general description for this method
41
+ # @return [Array[Object]]
42
+ attr_accessor :extended_attributes
43
+
44
+ # TODO: Write general description for this method
45
+ # @return [Array[GroupName]]
46
+ attr_accessor :group_names
47
+
48
+ # TODO: Write general description for this method
49
+ # @return [String]
50
+ attr_accessor :ip_address
51
+
52
+ # TODO: Write general description for this method
53
+ # @return [String]
54
+ attr_accessor :last_activation_by
55
+
56
+ # TODO: Write general description for this method
57
+ # @return [String]
58
+ attr_accessor :last_activation_date
59
+
60
+ # A mapping from model property names to API property names.
61
+ def self.names
62
+ @_hash = {} if @_hash.nil?
63
+ @_hash['account_name'] = 'accountName'
64
+ @_hash['billing_cycle_end_date'] = 'billingCycleEndDate'
65
+ @_hash['carrier_information'] = 'carrierInformation'
66
+ @_hash['connected'] = 'connected'
67
+ @_hash['created_at'] = 'createdAt'
68
+ @_hash['custom_fields'] = 'customFields'
69
+ @_hash['device_ids'] = 'deviceIds'
70
+ @_hash['extended_attributes'] = 'extendedAttributes'
71
+ @_hash['group_names'] = 'groupNames'
72
+ @_hash['ip_address'] = 'ipAddress'
73
+ @_hash['last_activation_by'] = 'lastActivationBy'
74
+ @_hash['last_activation_date'] = 'lastActivationDate'
75
+ @_hash
76
+ end
77
+
78
+ # An array for optional fields
79
+ def self.optionals
80
+ %w[
81
+ account_name
82
+ billing_cycle_end_date
83
+ carrier_information
84
+ connected
85
+ created_at
86
+ custom_fields
87
+ device_ids
88
+ extended_attributes
89
+ group_names
90
+ ip_address
91
+ last_activation_by
92
+ last_activation_date
93
+ ]
94
+ end
95
+
96
+ # An array for nullable fields
97
+ def self.nullables
98
+ []
99
+ end
100
+
101
+ def initialize(account_name: SKIP, billing_cycle_end_date: SKIP,
102
+ carrier_information: SKIP, connected: SKIP, created_at: SKIP,
103
+ custom_fields: SKIP, device_ids: SKIP,
104
+ extended_attributes: SKIP, group_names: SKIP,
105
+ ip_address: SKIP, last_activation_by: SKIP,
106
+ last_activation_date: SKIP, additional_properties: nil)
107
+ # Add additional model properties to the instance
108
+ additional_properties = {} if additional_properties.nil?
109
+
110
+ @account_name = account_name unless account_name == SKIP
111
+ @billing_cycle_end_date = billing_cycle_end_date unless billing_cycle_end_date == SKIP
112
+ @carrier_information = carrier_information unless carrier_information == SKIP
113
+ @connected = connected unless connected == SKIP
114
+ @created_at = created_at unless created_at == SKIP
115
+ @custom_fields = custom_fields unless custom_fields == SKIP
116
+ @device_ids = device_ids unless device_ids == SKIP
117
+ @extended_attributes = extended_attributes unless extended_attributes == SKIP
118
+ @group_names = group_names unless group_names == SKIP
119
+ @ip_address = ip_address unless ip_address == SKIP
120
+ @last_activation_by = last_activation_by unless last_activation_by == SKIP
121
+ @last_activation_date = last_activation_date unless last_activation_date == SKIP
122
+ @additional_properties = additional_properties
123
+ end
124
+
125
+ # Creates an instance of the object from a hash.
126
+ def self.from_hash(hash)
127
+ return nil unless hash
128
+
129
+ # Extract variables from the hash.
130
+ account_name = hash.key?('accountName') ? hash['accountName'] : SKIP
131
+ billing_cycle_end_date =
132
+ hash.key?('billingCycleEndDate') ? hash['billingCycleEndDate'] : SKIP
133
+ # Parameter is an array, so we need to iterate through it
134
+ carrier_information = nil
135
+ unless hash['carrierInformation'].nil?
136
+ carrier_information = []
137
+ hash['carrierInformation'].each do |structure|
138
+ carrier_information << (M5GbiCarrierInformation.from_hash(structure) if structure)
139
+ end
140
+ end
141
+
142
+ carrier_information = SKIP unless hash.key?('carrierInformation')
143
+ connected = hash.key?('connected') ? hash['connected'] : SKIP
144
+ created_at = hash.key?('createdAt') ? hash['createdAt'] : SKIP
145
+ custom_fields = hash.key?('customFields') ? APIHelper.deserialize_union_type(
146
+ UnionTypeLookUp.get(:M5GbiaccountNameobjectCustomFields), hash['customFields']
147
+ ) : SKIP
148
+ device_ids = hash.key?('deviceIds') ? APIHelper.deserialize_union_type(
149
+ UnionTypeLookUp.get(:M5GbiaccountNameobjectDeviceIds), hash['deviceIds']
150
+ ) : SKIP
151
+ extended_attributes = hash.key?('extendedAttributes') ? APIHelper.deserialize_union_type(
152
+ UnionTypeLookUp.get(:M5GbiaccountNameobjectExtendedAttributes), hash['extendedAttributes']
153
+ ) : SKIP
154
+ # Parameter is an array, so we need to iterate through it
155
+ group_names = nil
156
+ unless hash['groupNames'].nil?
157
+ group_names = []
158
+ hash['groupNames'].each do |structure|
159
+ group_names << (GroupName.from_hash(structure) if structure)
160
+ end
161
+ end
162
+
163
+ group_names = SKIP unless hash.key?('groupNames')
164
+ ip_address = hash.key?('ipAddress') ? hash['ipAddress'] : SKIP
165
+ last_activation_by =
166
+ hash.key?('lastActivationBy') ? hash['lastActivationBy'] : SKIP
167
+ last_activation_date =
168
+ hash.key?('lastActivationDate') ? hash['lastActivationDate'] : SKIP
169
+
170
+ # Create a new hash for additional properties, removing known properties.
171
+ new_hash = hash.reject { |k, _| names.value?(k) }
172
+
173
+ additional_properties = APIHelper.get_additional_properties(
174
+ new_hash, proc { |value| value }
175
+ )
176
+
177
+ # Create object from extracted values.
178
+ M5GbiaccountNameobject.new(account_name: account_name,
179
+ billing_cycle_end_date: billing_cycle_end_date,
180
+ carrier_information: carrier_information,
181
+ connected: connected,
182
+ created_at: created_at,
183
+ custom_fields: custom_fields,
184
+ device_ids: device_ids,
185
+ extended_attributes: extended_attributes,
186
+ group_names: group_names,
187
+ ip_address: ip_address,
188
+ last_activation_by: last_activation_by,
189
+ last_activation_date: last_activation_date,
190
+ additional_properties: additional_properties)
191
+ end
192
+
193
+ # Validates an instance of the object from a given value.
194
+ # @param [M5GbiaccountNameobject | Hash] The value against the validation is performed.
195
+ def self.validate(value)
196
+ return true if value.instance_of? self
197
+
198
+ return false unless value.instance_of? Hash
199
+
200
+ true
201
+ end
202
+
203
+ # Provides a human-readable string representation of the object.
204
+ def to_s
205
+ class_name = self.class.name.split('::').last
206
+ "<#{class_name} account_name: #{@account_name}, billing_cycle_end_date:"\
207
+ " #{@billing_cycle_end_date}, carrier_information: #{@carrier_information}, connected:"\
208
+ " #{@connected}, created_at: #{@created_at}, custom_fields: #{@custom_fields}, device_ids:"\
209
+ " #{@device_ids}, extended_attributes: #{@extended_attributes}, group_names:"\
210
+ " #{@group_names}, ip_address: #{@ip_address}, last_activation_by: #{@last_activation_by},"\
211
+ " last_activation_date: #{@last_activation_date}, additional_properties:"\
212
+ " #{@additional_properties}>"
213
+ end
214
+
215
+ # Provides a debugging-friendly string with detailed object information.
216
+ def inspect
217
+ class_name = self.class.name.split('::').last
218
+ "<#{class_name} account_name: #{@account_name.inspect}, billing_cycle_end_date:"\
219
+ " #{@billing_cycle_end_date.inspect}, carrier_information: #{@carrier_information.inspect},"\
220
+ " connected: #{@connected.inspect}, created_at: #{@created_at.inspect}, custom_fields:"\
221
+ " #{@custom_fields.inspect}, device_ids: #{@device_ids.inspect}, extended_attributes:"\
222
+ " #{@extended_attributes.inspect}, group_names: #{@group_names.inspect}, ip_address:"\
223
+ " #{@ip_address.inspect}, last_activation_by: #{@last_activation_by.inspect},"\
224
+ " last_activation_date: #{@last_activation_date.inspect}, additional_properties:"\
225
+ " #{@additional_properties}>"
226
+ end
227
+ end
228
+ end