ionoscloud 6.0.0 → 6.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 (168) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +70 -0
  3. data/README.md +10 -1
  4. data/docs/README.md +2 -2
  5. data/docs/api/BackupUnitsApi.md +14 -14
  6. data/docs/api/ContractResourcesApi.md +2 -2
  7. data/docs/api/DataCentersApi.md +15 -15
  8. data/docs/api/DefaultApi.md +2 -2
  9. data/docs/api/FirewallRulesApi.md +14 -14
  10. data/docs/api/FlowLogsApi.md +2 -2
  11. data/docs/api/IPBlocksApi.md +14 -14
  12. data/docs/api/ImagesApi.md +10 -10
  13. data/docs/api/KubernetesApi.md +30 -30
  14. data/docs/api/LANsApi.md +22 -22
  15. data/docs/api/LabelsApi.md +54 -54
  16. data/docs/api/LoadBalancersApi.md +22 -22
  17. data/docs/api/LocationsApi.md +6 -6
  18. data/docs/api/NATGatewaysApi.md +26 -26
  19. data/docs/api/NetworkInterfacesApi.md +14 -14
  20. data/docs/api/NetworkLoadBalancersApi.md +38 -38
  21. data/docs/api/PrivateCrossConnectsApi.md +10 -10
  22. data/docs/api/RequestsApi.md +8 -8
  23. data/docs/api/ServersApi.md +62 -52
  24. data/docs/api/SnapshotsApi.md +10 -10
  25. data/docs/api/UserManagementApi.md +50 -50
  26. data/docs/api/UserS3KeysApi.md +12 -12
  27. data/docs/api/VolumesApi.md +18 -18
  28. data/docs/models/AttachedVolumes.md +1 -1
  29. data/docs/models/BackupUnits.md +1 -1
  30. data/docs/models/BalancedNics.md +1 -1
  31. data/docs/models/Cdroms.md +1 -1
  32. data/docs/models/Contracts.md +1 -1
  33. data/docs/models/Datacenters.md +1 -1
  34. data/docs/models/ErrorMessage.md +1 -1
  35. data/docs/models/FirewallRules.md +1 -1
  36. data/docs/models/FirewallruleProperties.md +1 -1
  37. data/docs/models/FlowLogs.md +1 -1
  38. data/docs/models/GroupMembers.md +1 -1
  39. data/docs/models/GroupShares.md +1 -1
  40. data/docs/models/GroupUsers.md +1 -1
  41. data/docs/models/Groups.md +1 -1
  42. data/docs/models/Images.md +1 -1
  43. data/docs/models/IpBlocks.md +3 -3
  44. data/docs/models/KubernetesClusterProperties.md +3 -1
  45. data/docs/models/KubernetesClusterPropertiesForPost.md +3 -1
  46. data/docs/models/KubernetesClusterPropertiesForPut.md +1 -1
  47. data/docs/models/KubernetesClusters.md +1 -1
  48. data/docs/models/KubernetesNodePoolProperties.md +4 -1
  49. data/docs/models/KubernetesNodePoolPropertiesForPost.md +4 -1
  50. data/docs/models/KubernetesNodePoolPropertiesForPut.md +1 -1
  51. data/docs/models/KubernetesNodePools.md +1 -1
  52. data/docs/models/KubernetesNodes.md +1 -1
  53. data/docs/models/LabelResources.md +1 -1
  54. data/docs/models/Labels.md +1 -1
  55. data/docs/models/LanNics.md +1 -1
  56. data/docs/models/Lans.md +1 -1
  57. data/docs/models/Loadbalancers.md +1 -1
  58. data/docs/models/Locations.md +1 -1
  59. data/docs/models/NatGatewayProperties.md +1 -1
  60. data/docs/models/NatGatewayRules.md +1 -1
  61. data/docs/models/NatGateways.md +1 -1
  62. data/docs/models/NetworkLoadBalancerForwardingRuleHealthCheck.md +4 -4
  63. data/docs/models/NetworkLoadBalancerForwardingRuleProperties.md +5 -5
  64. data/docs/models/NetworkLoadBalancerForwardingRuleTarget.md +3 -3
  65. data/docs/models/NetworkLoadBalancerForwardingRuleTargetHealthCheck.md +3 -3
  66. data/docs/models/NetworkLoadBalancerForwardingRules.md +1 -1
  67. data/docs/models/NetworkLoadBalancerProperties.md +2 -2
  68. data/docs/models/NetworkLoadBalancers.md +1 -1
  69. data/docs/models/NicProperties.md +3 -3
  70. data/docs/models/Nics.md +1 -1
  71. data/docs/models/PrivateCrossConnects.md +1 -1
  72. data/docs/models/Requests.md +3 -3
  73. data/docs/models/ResourceGroups.md +1 -1
  74. data/docs/models/Resources.md +1 -1
  75. data/docs/models/ResourcesUsers.md +1 -1
  76. data/docs/models/S3Keys.md +1 -1
  77. data/docs/models/Servers.md +1 -1
  78. data/docs/models/Snapshots.md +1 -1
  79. data/docs/models/Templates.md +1 -1
  80. data/docs/models/Users.md +1 -1
  81. data/docs/models/VolumeProperties.md +4 -2
  82. data/docs/models/Volumes.md +1 -1
  83. data/git_push.sh +0 -3
  84. data/lib/ionoscloud/api/_api.rb +2 -2
  85. data/lib/ionoscloud/api/backup_units_api.rb +14 -14
  86. data/lib/ionoscloud/api/contract_resources_api.rb +2 -2
  87. data/lib/ionoscloud/api/data_centers_api.rb +16 -16
  88. data/lib/ionoscloud/api/firewall_rules_api.rb +14 -14
  89. data/lib/ionoscloud/api/flow_logs_api.rb +2 -2
  90. data/lib/ionoscloud/api/images_api.rb +10 -10
  91. data/lib/ionoscloud/api/ip_blocks_api.rb +14 -14
  92. data/lib/ionoscloud/api/kubernetes_api.rb +30 -30
  93. data/lib/ionoscloud/api/labels_api.rb +54 -54
  94. data/lib/ionoscloud/api/lans_api.rb +22 -22
  95. data/lib/ionoscloud/api/load_balancers_api.rb +22 -22
  96. data/lib/ionoscloud/api/locations_api.rb +6 -6
  97. data/lib/ionoscloud/api/nat_gateways_api.rb +26 -26
  98. data/lib/ionoscloud/api/network_interfaces_api.rb +14 -14
  99. data/lib/ionoscloud/api/network_load_balancers_api.rb +38 -38
  100. data/lib/ionoscloud/api/private_cross_connects_api.rb +10 -10
  101. data/lib/ionoscloud/api/requests_api.rb +8 -8
  102. data/lib/ionoscloud/api/servers_api.rb +52 -52
  103. data/lib/ionoscloud/api/snapshots_api.rb +10 -10
  104. data/lib/ionoscloud/api/user_management_api.rb +50 -50
  105. data/lib/ionoscloud/api/user_s3_keys_api.rb +12 -12
  106. data/lib/ionoscloud/api/volumes_api.rb +19 -19
  107. data/lib/ionoscloud/api_client.rb +1 -1
  108. data/lib/ionoscloud/models/attached_volumes.rb +1 -1
  109. data/lib/ionoscloud/models/backup_units.rb +1 -1
  110. data/lib/ionoscloud/models/balanced_nics.rb +1 -1
  111. data/lib/ionoscloud/models/cdroms.rb +1 -1
  112. data/lib/ionoscloud/models/contracts.rb +1 -1
  113. data/lib/ionoscloud/models/datacenters.rb +1 -1
  114. data/lib/ionoscloud/models/error_message.rb +1 -1
  115. data/lib/ionoscloud/models/firewall_rules.rb +1 -1
  116. data/lib/ionoscloud/models/firewallrule_properties.rb +6 -1
  117. data/lib/ionoscloud/models/flow_logs.rb +1 -1
  118. data/lib/ionoscloud/models/group_members.rb +1 -1
  119. data/lib/ionoscloud/models/group_shares.rb +1 -1
  120. data/lib/ionoscloud/models/group_users.rb +1 -1
  121. data/lib/ionoscloud/models/groups.rb +1 -1
  122. data/lib/ionoscloud/models/image_properties.rb +2 -2
  123. data/lib/ionoscloud/models/images.rb +1 -1
  124. data/lib/ionoscloud/models/ip_blocks.rb +3 -3
  125. data/lib/ionoscloud/models/kubernetes_cluster_properties.rb +22 -2
  126. data/lib/ionoscloud/models/kubernetes_cluster_properties_for_post.rb +22 -2
  127. data/lib/ionoscloud/models/kubernetes_cluster_properties_for_put.rb +1 -1
  128. data/lib/ionoscloud/models/kubernetes_clusters.rb +1 -1
  129. data/lib/ionoscloud/models/kubernetes_node_pool_properties.rb +21 -3
  130. data/lib/ionoscloud/models/kubernetes_node_pool_properties_for_post.rb +21 -3
  131. data/lib/ionoscloud/models/kubernetes_node_pool_properties_for_put.rb +1 -1
  132. data/lib/ionoscloud/models/kubernetes_node_pools.rb +1 -1
  133. data/lib/ionoscloud/models/kubernetes_nodes.rb +1 -1
  134. data/lib/ionoscloud/models/label_resources.rb +1 -1
  135. data/lib/ionoscloud/models/labels.rb +1 -1
  136. data/lib/ionoscloud/models/lan_nics.rb +1 -1
  137. data/lib/ionoscloud/models/lans.rb +1 -1
  138. data/lib/ionoscloud/models/loadbalancer_properties.rb +1 -0
  139. data/lib/ionoscloud/models/loadbalancers.rb +1 -1
  140. data/lib/ionoscloud/models/locations.rb +1 -1
  141. data/lib/ionoscloud/models/nat_gateway_properties.rb +1 -1
  142. data/lib/ionoscloud/models/nat_gateway_rules.rb +1 -1
  143. data/lib/ionoscloud/models/nat_gateways.rb +1 -1
  144. data/lib/ionoscloud/models/network_load_balancer_forwarding_rule_health_check.rb +4 -4
  145. data/lib/ionoscloud/models/network_load_balancer_forwarding_rule_properties.rb +5 -5
  146. data/lib/ionoscloud/models/network_load_balancer_forwarding_rule_target.rb +3 -3
  147. data/lib/ionoscloud/models/network_load_balancer_forwarding_rule_target_health_check.rb +3 -3
  148. data/lib/ionoscloud/models/network_load_balancer_forwarding_rules.rb +1 -1
  149. data/lib/ionoscloud/models/network_load_balancer_properties.rb +2 -2
  150. data/lib/ionoscloud/models/network_load_balancers.rb +1 -1
  151. data/lib/ionoscloud/models/nic_properties.rb +4 -3
  152. data/lib/ionoscloud/models/nics.rb +1 -1
  153. data/lib/ionoscloud/models/private_cross_connects.rb +1 -1
  154. data/lib/ionoscloud/models/requests.rb +3 -3
  155. data/lib/ionoscloud/models/resource_groups.rb +1 -1
  156. data/lib/ionoscloud/models/resources.rb +1 -1
  157. data/lib/ionoscloud/models/resources_users.rb +1 -1
  158. data/lib/ionoscloud/models/s3_keys.rb +1 -1
  159. data/lib/ionoscloud/models/servers.rb +1 -1
  160. data/lib/ionoscloud/models/snapshot_properties.rb +2 -2
  161. data/lib/ionoscloud/models/snapshots.rb +1 -1
  162. data/lib/ionoscloud/models/templates.rb +1 -1
  163. data/lib/ionoscloud/models/users.rb +1 -1
  164. data/lib/ionoscloud/models/volume_properties.rb +25 -7
  165. data/lib/ionoscloud/models/volumes.rb +1 -1
  166. data/lib/ionoscloud/version.rb +1 -1
  167. data/lib/test_driver.rb +119 -0
  168. metadata +7 -5
@@ -47,7 +47,7 @@ module Ionoscloud
47
47
  attr_accessor :ssh_keys
48
48
 
49
49
 
50
- # The bus type of the volume. Default is VIRTIO
50
+ # The bus type for this volume; default is VIRTIO.
51
51
  attr_accessor :bus
52
52
 
53
53
 
@@ -94,6 +94,10 @@ module Ionoscloud
94
94
  # The cloud-init configuration for the volume as base64 encoded string. The property is immutable and is only allowed to be set on creation of a new a volume. It is mandatory to provide either 'public image' or 'imageAlias' that has cloud-init compatibility in conjunction with this property.
95
95
  attr_accessor :user_data
96
96
 
97
+
98
+ # The UUID of the attached server.
99
+ attr_accessor :boot_server
100
+
97
101
  class EnumAttributeValidator
98
102
  attr_reader :datatype
99
103
  attr_reader :allowable_values
@@ -158,7 +162,9 @@ module Ionoscloud
158
162
 
159
163
  :'backupunit_id' => :'backupunitId',
160
164
 
161
- :'user_data' => :'userData'
165
+ :'user_data' => :'userData',
166
+
167
+ :'boot_server' => :'bootServer'
162
168
  }
163
169
  end
164
170
 
@@ -209,7 +215,9 @@ module Ionoscloud
209
215
 
210
216
  :'backupunit_id' => :'String',
211
217
 
212
- :'user_data' => :'String'
218
+ :'user_data' => :'String',
219
+
220
+ :'boot_server' => :'String'
213
221
  }
214
222
  end
215
223
 
@@ -235,6 +243,7 @@ module Ionoscloud
235
243
 
236
244
 
237
245
 
246
+
238
247
 
239
248
  ])
240
249
  end
@@ -353,6 +362,11 @@ module Ionoscloud
353
362
  if attributes.key?(:'user_data')
354
363
  self.user_data = attributes[:'user_data']
355
364
  end
365
+
366
+
367
+ if attributes.key?(:'boot_server')
368
+ self.boot_server = attributes[:'boot_server']
369
+ end
356
370
  end
357
371
 
358
372
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -383,6 +397,7 @@ module Ionoscloud
383
397
 
384
398
 
385
399
 
400
+
386
401
  invalid_properties
387
402
  end
388
403
 
@@ -406,7 +421,7 @@ module Ionoscloud
406
421
  bus_validator = EnumAttributeValidator.new('String', ["VIRTIO", "IDE", "UNKNOWN"])
407
422
  return false unless bus_validator.valid?(@bus)
408
423
 
409
- licence_type_validator = EnumAttributeValidator.new('String', ["UNKNOWN", "WINDOWS", "WINDOWS2016", "LINUX", "OTHER"])
424
+ licence_type_validator = EnumAttributeValidator.new('String', ["UNKNOWN", "WINDOWS", "WINDOWS2016", "WINDOWS2022", "LINUX", "OTHER"])
410
425
  return false unless licence_type_validator.valid?(@licence_type)
411
426
 
412
427
 
@@ -418,6 +433,7 @@ module Ionoscloud
418
433
 
419
434
 
420
435
 
436
+
421
437
  true
422
438
  end
423
439
 
@@ -464,7 +480,7 @@ module Ionoscloud
464
480
  # Custom attribute writer method checking allowed values (enum).
465
481
  # @param [Object] licence_type Object to be assigned
466
482
  def licence_type=(licence_type)
467
- validator = EnumAttributeValidator.new('String', ["UNKNOWN", "WINDOWS", "WINDOWS2016", "LINUX", "OTHER"])
483
+ validator = EnumAttributeValidator.new('String', ["UNKNOWN", "WINDOWS", "WINDOWS2016", "WINDOWS2022", "LINUX", "OTHER"])
468
484
  unless validator.valid?(licence_type)
469
485
  fail ArgumentError, "invalid value for \"licence_type\", must be one of #{validator.allowable_values}."
470
486
  end
@@ -481,6 +497,7 @@ module Ionoscloud
481
497
 
482
498
 
483
499
 
500
+
484
501
  # Checks equality by comparing each attribute.
485
502
  # @param [Object] Object to be compared
486
503
  def ==(o)
@@ -505,7 +522,8 @@ module Ionoscloud
505
522
  device_number == o.device_number &&
506
523
  pci_slot == o.pci_slot &&
507
524
  backupunit_id == o.backupunit_id &&
508
- user_data == o.user_data
525
+ user_data == o.user_data &&
526
+ boot_server == o.boot_server
509
527
  end
510
528
 
511
529
  # @see the `==` method
@@ -517,7 +535,7 @@ module Ionoscloud
517
535
  # Calculates hash code according to all attributes.
518
536
  # @return [Integer] Hash code
519
537
  def hash
520
- [name, type, size, availability_zone, image, image_password, image_alias, ssh_keys, bus, licence_type, cpu_hot_plug, ram_hot_plug, nic_hot_plug, nic_hot_unplug, disc_virtio_hot_plug, disc_virtio_hot_unplug, device_number, pci_slot, backupunit_id, user_data].hash
538
+ [name, type, size, availability_zone, image, image_password, image_alias, ssh_keys, bus, licence_type, cpu_hot_plug, ram_hot_plug, nic_hot_plug, nic_hot_unplug, disc_virtio_hot_plug, disc_virtio_hot_unplug, device_number, pci_slot, backupunit_id, user_data, boot_server].hash
521
539
  end
522
540
 
523
541
  # Builds the object from hash
@@ -28,7 +28,7 @@ module Ionoscloud
28
28
  attr_accessor :href
29
29
 
30
30
 
31
- # Array of items in that collection.
31
+ # Array of items in the collection.
32
32
  attr_accessor :items
33
33
 
34
34
 
@@ -11,5 +11,5 @@ OpenAPI Generator version: 5.2.1-SNAPSHOT
11
11
  =end
12
12
 
13
13
  module Ionoscloud
14
- VERSION = '6.0.0'
14
+ VERSION = '6.0.1'
15
15
  end
@@ -0,0 +1,119 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ $LOAD_PATH << '.'
4
+
5
+ require 'json'
6
+
7
+ {
8
+ 'ionoscloud' => 'Ionoscloud',
9
+ 'ionoscloud-autoscaling' => 'IonoscloudAutoscaling',
10
+ 'ionoscloud-dbaas-postgres' => 'IonoscloudDbaasPostgres',
11
+ }.each do |module_name, namespace|
12
+ begin
13
+ require module_name
14
+ Ionoscloud = Object.const_get(namespace)
15
+ break
16
+ rescue LoadError
17
+ end
18
+ end
19
+
20
+ config = Ionoscloud::Configuration.new
21
+
22
+ config.username = ENV['IONOS_USERNAME']
23
+ config.password = ENV['IONOS_PASSWORD']
24
+
25
+ api_client = Ionoscloud::ApiClient.new(config)
26
+
27
+ def underscore_string(str)
28
+ str.gsub(/::/, '/')
29
+ .gsub(/([A-Z]+)([A-Z][a-z])/, '\1_\2')
30
+ .gsub(/([a-z\d])([A-Z])/, '\1_\2')
31
+ .tr('-', '_')
32
+ .downcase
33
+ end
34
+
35
+ def get_class(operation)
36
+ Ionoscloud.constants.select do |c|
37
+ Ionoscloud.const_get(c).is_a? Class and Ionoscloud.const_get(c).name.end_with? 'Api'
38
+ end.each do |class_symbol|
39
+ class_name = class_symbol.to_s
40
+ methods = Ionoscloud.const_get(class_name).new.methods - Object.methods
41
+ return Ionoscloud.const_get(class_name) if methods.map(&:to_s).include? operation
42
+ end
43
+ nil
44
+ end
45
+
46
+ input = gets.chomp
47
+ testing_data = JSON.parse(input.gsub('\"', '"'))
48
+
49
+ operation = testing_data['operation']
50
+
51
+ begin
52
+ if operation == 'waitForRequest'
53
+ request_id = testing_data['params'][0]['value'].scan(%r{/requests/(\b[0-9a-f]{8}\b-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-\b[0-9a-f]{12}\b)}).last.first
54
+ api_client.wait_for_completion(request_id)
55
+ puts JSON[{}]
56
+ else
57
+ method_name = "#{underscore_string(operation)}_with_http_info"
58
+
59
+ cls = get_class method_name
60
+
61
+ special_params_names = %w[pretty depth XContractNumber contractNumber offset limit start end]
62
+
63
+ normal_params, special_params = (testing_data['params'].nil? ? [] : testing_data['params']).partition do |el|
64
+ special_params_names.none? do |special_param_name|
65
+ special_param_name == el['name']
66
+ end
67
+ end
68
+
69
+ normal_params = normal_params.map { |el| el['value'] }
70
+
71
+ special_params = special_params.each_with_object({}) do |current, total|
72
+ total[current['name'].to_sym] = current['value']
73
+ end
74
+
75
+ response, status_code, headers = cls.new(api_client).public_send(
76
+ method_name.to_sym,
77
+ *normal_params,
78
+ special_params
79
+ )
80
+
81
+ begin
82
+ response = response.to_hash
83
+ rescue NoMethodError
84
+ end
85
+
86
+ headers = headers.transform_values do |value|
87
+ value.split(',', -1)
88
+ end
89
+
90
+ puts JSON[{
91
+ 'result' => response,
92
+ 'httpResponse' => {
93
+ 'statusCode' => status_code,
94
+ 'headers' => headers.transform_keys(&:downcase),
95
+ 'body' => response,
96
+ }
97
+ }]
98
+ end
99
+ rescue Ionoscloud::ApiError => e
100
+ puts JSON[{
101
+ 'result' => 'ApiException occured',
102
+ 'httpResponse' => {
103
+ 'statusCode' => e.code,
104
+ 'headers' => e.response_headers,
105
+ 'body' => JSON.parse(e.response_body),
106
+ },
107
+ 'error' => JSON.parse(e.response_body),
108
+ }]
109
+ rescue StandardError => e
110
+ puts JSON[{
111
+ 'result' => 'GeneralException occured',
112
+ 'httpResponse' => {
113
+ 'statusCode' => nil,
114
+ 'headers' => nil,
115
+ 'body' => nil,
116
+ },
117
+ 'error' => e.inspect,
118
+ }]
119
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ionoscloud
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.0.0
4
+ version: 6.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - OpenAPI-Generator
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-12-22 00:00:00.000000000 Z
11
+ date: 2022-03-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: typhoeus
@@ -63,6 +63,7 @@ extensions: []
63
63
  extra_rdoc_files: []
64
64
  files:
65
65
  - Gemfile
66
+ - Gemfile.lock
66
67
  - LICENSE
67
68
  - README.md
68
69
  - Rakefile
@@ -463,6 +464,7 @@ files:
463
464
  - lib/ionoscloud/models/volume_properties.rb
464
465
  - lib/ionoscloud/models/volumes.rb
465
466
  - lib/ionoscloud/version.rb
467
+ - lib/test_driver.rb
466
468
  - sonar-project.properties
467
469
  - spec/api_client_spec.rb
468
470
  - spec/configuration_spec.rb
@@ -471,7 +473,7 @@ homepage: https://openapi-generator.tech
471
473
  licenses:
472
474
  - Unlicense
473
475
  metadata: {}
474
- post_install_message:
476
+ post_install_message:
475
477
  rdoc_options: []
476
478
  require_paths:
477
479
  - lib
@@ -487,7 +489,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
487
489
  version: '0'
488
490
  requirements: []
489
491
  rubygems_version: 3.1.4
490
- signing_key:
492
+ signing_key:
491
493
  specification_version: 4
492
494
  summary: CLOUD API Ruby Gem
493
495
  test_files: