ionoscloud 6.0.0 → 6.0.1

Sign up to get free protection for your applications and to get access to all the features.
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: