ovirt-engine-sdk 4.2.0.alpha5 → 4.2.0.beta1

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7f0298f105fe0d7aa9600b45168f07acdb64d873
4
- data.tar.gz: d337cd19f0b89175915a6ba3e33758d399c8682c
3
+ metadata.gz: bc71233551eec221a54fc2674a2a906612ad7422
4
+ data.tar.gz: d6eb2ac988603646b28c06fc64f991c73b244fb7
5
5
  SHA512:
6
- metadata.gz: 5b7dfc32b268afc784640669f1c094c10721b1f5756e9d973783b3bfc0b655901e13d098742a402abe15a212e96f7da80702137ee9bdf87d2a4720f55bc5aece
7
- data.tar.gz: aa05e77fae64684a463350641d5abe8b0c11a6bd56a5194f43ff947e3fc4524e06950f2b28e59015562859254d5850ce23ddf240581adf2ab33b8041772b8746
6
+ metadata.gz: 004c96428b22864f2a3361e2eb9d672127ddb6d80c502ecd73766bfd7bdec4ac753329ecd46a874359dfd60475a791e485451f54fed33eba1071a48fd10fcdfe
7
+ data.tar.gz: eda7298a5b95361a5ee1706f0232cd9d220b0ccb578dd10bb26d0a083bf6b32f6629d8055c9a12d9a913bd44a949da86e0c6c0e0d1f2dd055212cb2c7d373367
data/CHANGES.adoc CHANGED
@@ -2,6 +2,38 @@
2
2
 
3
3
  This document describes the relevant changes between releases of the SDK.
4
4
 
5
+ == 4.2.0-beta1 / Nov 15 2017
6
+
7
+ Update to model 4.2.25:
8
+
9
+ * Add new `S390X` value to the `Architecture` type.
10
+
11
+ * Add new `DIAG288` value to the `WatchdogModel` type.
12
+
13
+ * Add `OVA` value to the `ConfigurationType` enumerated type.
14
+
15
+ * Add search parameters to the operation that lists jobs.
16
+
17
+ * Add `auto_sync` attribute to the _OpenStack_ network provider type
18
+ https://bugzilla.redhat.com/1511823[#1511823].
19
+
20
+ * Add operation to export a virtual machine as `OVA` file.
21
+
22
+ * Add `active` and `transferred` attributes to the `ImageTransfer` type.
23
+
24
+ * Add `external_provider` and `external_provider_physical_network`
25
+ attributes to the `Network` type.
26
+
27
+ * Add `transfer_url` to the `ImageTransfer` type.
28
+
29
+ * Fix input detail of the operation that exports a virtual machine: it
30
+ is mandatory to have the identifier or name of the destination
31
+ storage domain.
32
+
33
+ New features:
34
+
35
+ * Add support for method extensions.
36
+
5
37
  == 4.2.0-alpha5 / Nov 8 2017
6
38
 
7
39
  Update to model 4.2.24:
@@ -48,12 +48,16 @@ module OvirtSDK4
48
48
  object.deploy_hosted_engine = value if not value.nil?
49
49
  value = reader.get_attribute('description')
50
50
  object.description = value if not value.nil?
51
+ value = reader.get_attribute('directory')
52
+ object.directory = value if not value.nil?
51
53
  value = reader.get_attribute('discard_snapshots')
52
54
  object.discard_snapshots = value if not value.nil?
53
55
  value = reader.get_attribute('exclusive')
54
56
  object.exclusive = value if not value.nil?
55
57
  value = reader.get_attribute('fence_type')
56
58
  object.fence_type = value if not value.nil?
59
+ value = reader.get_attribute('filename')
60
+ object.filename = value if not value.nil?
57
61
  value = reader.get_attribute('filter')
58
62
  object.filter = value if not value.nil?
59
63
  value = reader.get_attribute('fix_layout')
@@ -147,6 +151,8 @@ module OvirtSDK4
147
151
  object.description = Reader.read_string(reader)
148
152
  when 'details'
149
153
  object.details = GlusterVolumeProfileDetailsReader.read_one(reader)
154
+ when 'directory'
155
+ object.directory = Reader.read_string(reader)
150
156
  when 'discard_snapshots'
151
157
  object.discard_snapshots = Reader.read_boolean(reader)
152
158
  when 'disk'
@@ -161,6 +167,8 @@ module OvirtSDK4
161
167
  object.fault = FaultReader.read_one(reader)
162
168
  when 'fence_type'
163
169
  object.fence_type = Reader.read_string(reader)
170
+ when 'filename'
171
+ object.filename = Reader.read_string(reader)
164
172
  when 'filter'
165
173
  object.filter = Reader.read_boolean(reader)
166
174
  when 'fix_layout'
@@ -8254,6 +8262,8 @@ module OvirtSDK4
8254
8262
 
8255
8263
  # Process the attributes:
8256
8264
  object.href = reader.get_attribute('href')
8265
+ value = reader.get_attribute('active')
8266
+ object.active = value if not value.nil?
8257
8267
  value = reader.get_attribute('comment')
8258
8268
  object.comment = value if not value.nil?
8259
8269
  value = reader.get_attribute('description')
@@ -8270,6 +8280,10 @@ module OvirtSDK4
8270
8280
  object.proxy_url = value if not value.nil?
8271
8281
  value = reader.get_attribute('signed_ticket')
8272
8282
  object.signed_ticket = value if not value.nil?
8283
+ value = reader.get_attribute('transfer_url')
8284
+ object.transfer_url = value if not value.nil?
8285
+ value = reader.get_attribute('transferred')
8286
+ object.transferred = value if not value.nil?
8273
8287
 
8274
8288
  # Discard the start tag:
8275
8289
  empty = reader.empty_element?
@@ -8279,6 +8293,8 @@ module OvirtSDK4
8279
8293
  # Process the inner elements:
8280
8294
  while reader.forward do
8281
8295
  case reader.node_name
8296
+ when 'active'
8297
+ object.active = Reader.read_boolean(reader)
8282
8298
  when 'comment'
8283
8299
  object.comment = Reader.read_string(reader)
8284
8300
  when 'description'
@@ -8295,6 +8311,10 @@ module OvirtSDK4
8295
8311
  object.proxy_url = Reader.read_string(reader)
8296
8312
  when 'signed_ticket'
8297
8313
  object.signed_ticket = Reader.read_string(reader)
8314
+ when 'transfer_url'
8315
+ object.transfer_url = Reader.read_string(reader)
8316
+ when 'transferred'
8317
+ object.transferred = Reader.read_integer(reader)
8298
8318
  when 'disk'
8299
8319
  object.disk = DiskReader.read_one(reader)
8300
8320
  when 'host'
@@ -10338,6 +10358,10 @@ module OvirtSDK4
10338
10358
  object.cluster = ClusterReader.read_one(reader)
10339
10359
  when 'data_center'
10340
10360
  object.data_center = DataCenterReader.read_one(reader)
10361
+ when 'external_provider'
10362
+ object.external_provider = OpenStackNetworkProviderReader.read_one(reader)
10363
+ when 'external_provider_physical_network'
10364
+ object.external_provider_physical_network = NetworkReader.read_one(reader)
10341
10365
  when 'network_labels'
10342
10366
  object.network_labels = NetworkLabelReader.read_many(reader)
10343
10367
  when 'permissions'
@@ -11563,6 +11587,8 @@ module OvirtSDK4
11563
11587
  object.href = reader.get_attribute('href')
11564
11588
  value = reader.get_attribute('authentication_url')
11565
11589
  object.authentication_url = value if not value.nil?
11590
+ value = reader.get_attribute('auto_sync')
11591
+ object.auto_sync = value if not value.nil?
11566
11592
  value = reader.get_attribute('comment')
11567
11593
  object.comment = value if not value.nil?
11568
11594
  value = reader.get_attribute('description')
@@ -11602,6 +11628,8 @@ module OvirtSDK4
11602
11628
  object.agent_configuration = AgentConfigurationReader.read_one(reader)
11603
11629
  when 'authentication_url'
11604
11630
  object.authentication_url = Reader.read_string(reader)
11631
+ when 'auto_sync'
11632
+ object.auto_sync = Reader.read_boolean(reader)
11605
11633
  when 'comment'
11606
11634
  object.comment = Reader.read_string(reader)
11607
11635
  when 'description'
@@ -2515,6 +2515,114 @@ module OvirtSDK4
2515
2515
  internal_add(permission, Permission, ADD, opts)
2516
2516
  end
2517
2517
 
2518
+ ADD_CLUSTER_PERMISSION = [
2519
+ ].freeze
2520
+
2521
+ private_constant :ADD_CLUSTER_PERMISSION
2522
+
2523
+ #
2524
+ # Add a new permission on the cluster to the group in the system.
2525
+ #
2526
+ # @param permission [Permission] The permission.
2527
+ #
2528
+ # @param opts [Hash] Additional options.
2529
+ #
2530
+ # @option opts [Hash] :headers ({}) Additional HTTP headers.
2531
+ #
2532
+ # @option opts [Hash] :query ({}) Additional URL query parameters.
2533
+ #
2534
+ # @option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
2535
+ # given then the timeout set globally for the connection will be used.
2536
+ #
2537
+ # @option opts [Boolean] :wait (true) If `true` wait for the response.
2538
+ #
2539
+ # @return [Permission]
2540
+ #
2541
+ def add_cluster_permission(permission, opts = {})
2542
+ internal_add(permission, Permission, ADD_CLUSTER_PERMISSION, opts)
2543
+ end
2544
+
2545
+ ADD_DATA_CENTER_PERMISSION = [
2546
+ ].freeze
2547
+
2548
+ private_constant :ADD_DATA_CENTER_PERMISSION
2549
+
2550
+ #
2551
+ # Add a new permission on the data center to the group in the system.
2552
+ #
2553
+ # @param permission [Permission] The permission.
2554
+ #
2555
+ # @param opts [Hash] Additional options.
2556
+ #
2557
+ # @option opts [Hash] :headers ({}) Additional HTTP headers.
2558
+ #
2559
+ # @option opts [Hash] :query ({}) Additional URL query parameters.
2560
+ #
2561
+ # @option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
2562
+ # given then the timeout set globally for the connection will be used.
2563
+ #
2564
+ # @option opts [Boolean] :wait (true) If `true` wait for the response.
2565
+ #
2566
+ # @return [Permission]
2567
+ #
2568
+ def add_data_center_permission(permission, opts = {})
2569
+ internal_add(permission, Permission, ADD_DATA_CENTER_PERMISSION, opts)
2570
+ end
2571
+
2572
+ ADD_GROUP_LEVEL = [
2573
+ ].freeze
2574
+
2575
+ private_constant :ADD_GROUP_LEVEL
2576
+
2577
+ #
2578
+ # Add a new group level permission for a given virtual machine.
2579
+ #
2580
+ # @param permission [Permission] The permission.
2581
+ #
2582
+ # @param opts [Hash] Additional options.
2583
+ #
2584
+ # @option opts [Hash] :headers ({}) Additional HTTP headers.
2585
+ #
2586
+ # @option opts [Hash] :query ({}) Additional URL query parameters.
2587
+ #
2588
+ # @option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
2589
+ # given then the timeout set globally for the connection will be used.
2590
+ #
2591
+ # @option opts [Boolean] :wait (true) If `true` wait for the response.
2592
+ #
2593
+ # @return [Permission]
2594
+ #
2595
+ def add_group_level(permission, opts = {})
2596
+ internal_add(permission, Permission, ADD_GROUP_LEVEL, opts)
2597
+ end
2598
+
2599
+ ADD_HOST_PERMISSION = [
2600
+ ].freeze
2601
+
2602
+ private_constant :ADD_HOST_PERMISSION
2603
+
2604
+ #
2605
+ # Add a new permission on the host to the group in the system.
2606
+ #
2607
+ # @param permission [Permission] The permission.
2608
+ #
2609
+ # @param opts [Hash] Additional options.
2610
+ #
2611
+ # @option opts [Hash] :headers ({}) Additional HTTP headers.
2612
+ #
2613
+ # @option opts [Hash] :query ({}) Additional URL query parameters.
2614
+ #
2615
+ # @option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
2616
+ # given then the timeout set globally for the connection will be used.
2617
+ #
2618
+ # @option opts [Boolean] :wait (true) If `true` wait for the response.
2619
+ #
2620
+ # @return [Permission]
2621
+ #
2622
+ def add_host_permission(permission, opts = {})
2623
+ internal_add(permission, Permission, ADD_HOST_PERMISSION, opts)
2624
+ end
2625
+
2518
2626
  LIST = [
2519
2627
  [:follow, String].freeze,
2520
2628
  ].freeze
@@ -2568,6 +2676,141 @@ module OvirtSDK4
2568
2676
  internal_get(LIST, opts)
2569
2677
  end
2570
2678
 
2679
+ ADD_STORAGE_DOMAIN_PERMISSION = [
2680
+ ].freeze
2681
+
2682
+ private_constant :ADD_STORAGE_DOMAIN_PERMISSION
2683
+
2684
+ #
2685
+ # Add a new permission on the storage domain to the group in the system.
2686
+ #
2687
+ # @param permission [Permission] The permission.
2688
+ #
2689
+ # @param opts [Hash] Additional options.
2690
+ #
2691
+ # @option opts [Hash] :headers ({}) Additional HTTP headers.
2692
+ #
2693
+ # @option opts [Hash] :query ({}) Additional URL query parameters.
2694
+ #
2695
+ # @option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
2696
+ # given then the timeout set globally for the connection will be used.
2697
+ #
2698
+ # @option opts [Boolean] :wait (true) If `true` wait for the response.
2699
+ #
2700
+ # @return [Permission]
2701
+ #
2702
+ def add_storage_domain_permission(permission, opts = {})
2703
+ internal_add(permission, Permission, ADD_STORAGE_DOMAIN_PERMISSION, opts)
2704
+ end
2705
+
2706
+ ADD_TEMPLATE_PERMISSION = [
2707
+ ].freeze
2708
+
2709
+ private_constant :ADD_TEMPLATE_PERMISSION
2710
+
2711
+ #
2712
+ # Add a new permission on the template to the group in the system.
2713
+ #
2714
+ # @param permission [Permission] The permission.
2715
+ #
2716
+ # @param opts [Hash] Additional options.
2717
+ #
2718
+ # @option opts [Hash] :headers ({}) Additional HTTP headers.
2719
+ #
2720
+ # @option opts [Hash] :query ({}) Additional URL query parameters.
2721
+ #
2722
+ # @option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
2723
+ # given then the timeout set globally for the connection will be used.
2724
+ #
2725
+ # @option opts [Boolean] :wait (true) If `true` wait for the response.
2726
+ #
2727
+ # @return [Permission]
2728
+ #
2729
+ def add_template_permission(permission, opts = {})
2730
+ internal_add(permission, Permission, ADD_TEMPLATE_PERMISSION, opts)
2731
+ end
2732
+
2733
+ ADD_USER_LEVEL = [
2734
+ ].freeze
2735
+
2736
+ private_constant :ADD_USER_LEVEL
2737
+
2738
+ #
2739
+ # Add a new user level permission for a given virtual machine.
2740
+ #
2741
+ # @param permission [Permission] The permission.
2742
+ #
2743
+ # @param opts [Hash] Additional options.
2744
+ #
2745
+ # @option opts [Hash] :headers ({}) Additional HTTP headers.
2746
+ #
2747
+ # @option opts [Hash] :query ({}) Additional URL query parameters.
2748
+ #
2749
+ # @option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
2750
+ # given then the timeout set globally for the connection will be used.
2751
+ #
2752
+ # @option opts [Boolean] :wait (true) If `true` wait for the response.
2753
+ #
2754
+ # @return [Permission]
2755
+ #
2756
+ def add_user_level(permission, opts = {})
2757
+ internal_add(permission, Permission, ADD_USER_LEVEL, opts)
2758
+ end
2759
+
2760
+ ADD_VM_PERMISSION = [
2761
+ ].freeze
2762
+
2763
+ private_constant :ADD_VM_PERMISSION
2764
+
2765
+ #
2766
+ # Add a new permission on the vm to the group in the system.
2767
+ #
2768
+ # @param permission [Permission] The permission.
2769
+ #
2770
+ # @param opts [Hash] Additional options.
2771
+ #
2772
+ # @option opts [Hash] :headers ({}) Additional HTTP headers.
2773
+ #
2774
+ # @option opts [Hash] :query ({}) Additional URL query parameters.
2775
+ #
2776
+ # @option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
2777
+ # given then the timeout set globally for the connection will be used.
2778
+ #
2779
+ # @option opts [Boolean] :wait (true) If `true` wait for the response.
2780
+ #
2781
+ # @return [Permission]
2782
+ #
2783
+ def add_vm_permission(permission, opts = {})
2784
+ internal_add(permission, Permission, ADD_VM_PERMISSION, opts)
2785
+ end
2786
+
2787
+ ADD_VM_POOL_PERMISSION = [
2788
+ ].freeze
2789
+
2790
+ private_constant :ADD_VM_POOL_PERMISSION
2791
+
2792
+ #
2793
+ # Add a new permission on the vm pool to the group in the system.
2794
+ #
2795
+ # @param permission [Permission] The permission.
2796
+ #
2797
+ # @param opts [Hash] Additional options.
2798
+ #
2799
+ # @option opts [Hash] :headers ({}) Additional HTTP headers.
2800
+ #
2801
+ # @option opts [Hash] :query ({}) Additional URL query parameters.
2802
+ #
2803
+ # @option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
2804
+ # given then the timeout set globally for the connection will be used.
2805
+ #
2806
+ # @option opts [Boolean] :wait (true) If `true` wait for the response.
2807
+ #
2808
+ # @return [Permission]
2809
+ #
2810
+ def add_vm_pool_permission(permission, opts = {})
2811
+ internal_add(permission, Permission, ADD_VM_POOL_PERMISSION, opts)
2812
+ end
2813
+
2571
2814
  #
2572
2815
  # Sub-resource locator method, returns individual permission resource on which the remainder of the URI is
2573
2816
  # dispatched.
@@ -6713,6 +6956,60 @@ module OvirtSDK4
6713
6956
  internal_get(LIST, opts)
6714
6957
  end
6715
6958
 
6959
+ ADD_PROVIDING_DISK_ID = [
6960
+ ].freeze
6961
+
6962
+ private_constant :ADD_PROVIDING_DISK_ID
6963
+
6964
+ #
6965
+ # Adds a new `attachment`.
6966
+ #
6967
+ # @param attachment [DiskAttachment] The `attachment` to add.
6968
+ #
6969
+ # @param opts [Hash] Additional options.
6970
+ #
6971
+ # @option opts [Hash] :headers ({}) Additional HTTP headers.
6972
+ #
6973
+ # @option opts [Hash] :query ({}) Additional URL query parameters.
6974
+ #
6975
+ # @option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
6976
+ # given then the timeout set globally for the connection will be used.
6977
+ #
6978
+ # @option opts [Boolean] :wait (true) If `true` wait for the response.
6979
+ #
6980
+ # @return [DiskAttachment]
6981
+ #
6982
+ def add_providing_disk_id(attachment, opts = {})
6983
+ internal_add(attachment, DiskAttachment, ADD_PROVIDING_DISK_ID, opts)
6984
+ end
6985
+
6986
+ ADD_SIGNATURE1 = [
6987
+ ].freeze
6988
+
6989
+ private_constant :ADD_SIGNATURE1
6990
+
6991
+ #
6992
+ # Adds a new `attachment`.
6993
+ #
6994
+ # @param attachment [DiskAttachment] The `attachment` to add.
6995
+ #
6996
+ # @param opts [Hash] Additional options.
6997
+ #
6998
+ # @option opts [Hash] :headers ({}) Additional HTTP headers.
6999
+ #
7000
+ # @option opts [Hash] :query ({}) Additional URL query parameters.
7001
+ #
7002
+ # @option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
7003
+ # given then the timeout set globally for the connection will be used.
7004
+ #
7005
+ # @option opts [Boolean] :wait (true) If `true` wait for the response.
7006
+ #
7007
+ # @return [DiskAttachment]
7008
+ #
7009
+ def add_signature1(attachment, opts = {})
7010
+ internal_add(attachment, DiskAttachment, ADD_SIGNATURE1, opts)
7011
+ end
7012
+
6716
7013
  #
6717
7014
  # Reference to the service that manages a specific attachment.
6718
7015
  #
@@ -7389,6 +7686,60 @@ module OvirtSDK4
7389
7686
  internal_get(LIST, opts)
7390
7687
  end
7391
7688
 
7689
+ ADD_LUN = [
7690
+ ].freeze
7691
+
7692
+ private_constant :ADD_LUN
7693
+
7694
+ #
7695
+ # Add a new lun disk to the storage domain.
7696
+ #
7697
+ # @param disk [Disk] The disk.
7698
+ #
7699
+ # @param opts [Hash] Additional options.
7700
+ #
7701
+ # @option opts [Hash] :headers ({}) Additional HTTP headers.
7702
+ #
7703
+ # @option opts [Hash] :query ({}) Additional URL query parameters.
7704
+ #
7705
+ # @option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
7706
+ # given then the timeout set globally for the connection will be used.
7707
+ #
7708
+ # @option opts [Boolean] :wait (true) If `true` wait for the response.
7709
+ #
7710
+ # @return [Disk]
7711
+ #
7712
+ def add_lun(disk, opts = {})
7713
+ internal_add(disk, Disk, ADD_LUN, opts)
7714
+ end
7715
+
7716
+ ADD_ON_STORAGE_DOMAIN = [
7717
+ ].freeze
7718
+
7719
+ private_constant :ADD_ON_STORAGE_DOMAIN
7720
+
7721
+ #
7722
+ # Add a new disk to the storage domain with the specified size allocating space from the storage domain.
7723
+ #
7724
+ # @param disk [Disk] The disk.
7725
+ #
7726
+ # @param opts [Hash] Additional options.
7727
+ #
7728
+ # @option opts [Hash] :headers ({}) Additional HTTP headers.
7729
+ #
7730
+ # @option opts [Hash] :query ({}) Additional URL query parameters.
7731
+ #
7732
+ # @option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
7733
+ # given then the timeout set globally for the connection will be used.
7734
+ #
7735
+ # @option opts [Boolean] :wait (true) If `true` wait for the response.
7736
+ #
7737
+ # @return [Disk]
7738
+ #
7739
+ def add_on_storage_domain(disk, opts = {})
7740
+ internal_add(disk, Disk, ADD_ON_STORAGE_DOMAIN, opts)
7741
+ end
7742
+
7392
7743
  #
7393
7744
  # Reference to a service managing a specific disk.
7394
7745
  #
@@ -12102,6 +12453,82 @@ module OvirtSDK4
12102
12453
  internal_get(LIST, opts)
12103
12454
  end
12104
12455
 
12456
+ ADD_USING_ROOT_PASSWORD = [
12457
+ [:deploy_hosted_engine, TrueClass].freeze,
12458
+ [:undeploy_hosted_engine, TrueClass].freeze,
12459
+ ].freeze
12460
+
12461
+ private_constant :ADD_USING_ROOT_PASSWORD
12462
+
12463
+ #
12464
+ # Add a new host to the system providing the host root password. This has been deprecated and provided for backwards compatibility.
12465
+ #
12466
+ # @param host [Host] The host definition from which to create the new host is passed as parameter, and the newly created host
12467
+ # is returned.
12468
+ #
12469
+ # @param opts [Hash] Additional options.
12470
+ #
12471
+ # @option opts [Boolean] :deploy_hosted_engine When set to `true` it means this host should deploy also hosted engine components. Missing value is treated
12472
+ # as `true` i.e deploy. Omitting this parameter means `false` and will perform no operation in hosted engine
12473
+ # area.
12474
+ #
12475
+ # @option opts [Boolean] :undeploy_hosted_engine When set to `true` it means this host should un-deploy hosted engine components and this host will not
12476
+ # function as part of the High Availability cluster. Missing value is treated as `true` i.e un-deploy.
12477
+ # Omitting this parameter means `false` and will perform no operation in hosted engine area.
12478
+ #
12479
+ # @option opts [Hash] :headers ({}) Additional HTTP headers.
12480
+ #
12481
+ # @option opts [Hash] :query ({}) Additional URL query parameters.
12482
+ #
12483
+ # @option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
12484
+ # given then the timeout set globally for the connection will be used.
12485
+ #
12486
+ # @option opts [Boolean] :wait (true) If `true` wait for the response.
12487
+ #
12488
+ # @return [Host]
12489
+ #
12490
+ def add_using_root_password(host, opts = {})
12491
+ internal_add(host, Host, ADD_USING_ROOT_PASSWORD, opts)
12492
+ end
12493
+
12494
+ ADD_USING_SSH = [
12495
+ [:deploy_hosted_engine, TrueClass].freeze,
12496
+ [:undeploy_hosted_engine, TrueClass].freeze,
12497
+ ].freeze
12498
+
12499
+ private_constant :ADD_USING_SSH
12500
+
12501
+ #
12502
+ # Add a new host to the system providing the ssh password or fingerprint.
12503
+ #
12504
+ # @param host [Host] The host definition from which to create the new host is passed as parameter, and the newly created host
12505
+ # is returned.
12506
+ #
12507
+ # @param opts [Hash] Additional options.
12508
+ #
12509
+ # @option opts [Boolean] :deploy_hosted_engine When set to `true` it means this host should deploy also hosted engine components. Missing value is treated
12510
+ # as `true` i.e deploy. Omitting this parameter means `false` and will perform no operation in hosted engine
12511
+ # area.
12512
+ #
12513
+ # @option opts [Boolean] :undeploy_hosted_engine When set to `true` it means this host should un-deploy hosted engine components and this host will not
12514
+ # function as part of the High Availability cluster. Missing value is treated as `true` i.e un-deploy.
12515
+ # Omitting this parameter means `false` and will perform no operation in hosted engine area.
12516
+ #
12517
+ # @option opts [Hash] :headers ({}) Additional HTTP headers.
12518
+ #
12519
+ # @option opts [Hash] :query ({}) Additional URL query parameters.
12520
+ #
12521
+ # @option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
12522
+ # given then the timeout set globally for the connection will be used.
12523
+ #
12524
+ # @option opts [Boolean] :wait (true) If `true` wait for the response.
12525
+ #
12526
+ # @return [Host]
12527
+ #
12528
+ def add_using_ssh(host, opts = {})
12529
+ internal_add(host, Host, ADD_USING_SSH, opts)
12530
+ end
12531
+
12105
12532
  #
12106
12533
  # A Reference to service managing a specific host.
12107
12534
  #
@@ -12618,6 +13045,87 @@ module OvirtSDK4
12618
13045
  internal_add(image_transfer, ImageTransfer, ADD, opts)
12619
13046
  end
12620
13047
 
13048
+ ADD_FOR_DISK = [
13049
+ ].freeze
13050
+
13051
+ private_constant :ADD_FOR_DISK
13052
+
13053
+ #
13054
+ # Adds a new `image_transfer`.
13055
+ #
13056
+ # @param image_transfer [ImageTransfer] The `image_transfer` to add.
13057
+ #
13058
+ # @param opts [Hash] Additional options.
13059
+ #
13060
+ # @option opts [Hash] :headers ({}) Additional HTTP headers.
13061
+ #
13062
+ # @option opts [Hash] :query ({}) Additional URL query parameters.
13063
+ #
13064
+ # @option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
13065
+ # given then the timeout set globally for the connection will be used.
13066
+ #
13067
+ # @option opts [Boolean] :wait (true) If `true` wait for the response.
13068
+ #
13069
+ # @return [ImageTransfer]
13070
+ #
13071
+ def add_for_disk(image_transfer, opts = {})
13072
+ internal_add(image_transfer, ImageTransfer, ADD_FOR_DISK, opts)
13073
+ end
13074
+
13075
+ ADD_FOR_IMAGE = [
13076
+ ].freeze
13077
+
13078
+ private_constant :ADD_FOR_IMAGE
13079
+
13080
+ #
13081
+ # Adds a new `image_transfer`.
13082
+ #
13083
+ # @param image_transfer [ImageTransfer] The `image_transfer` to add.
13084
+ #
13085
+ # @param opts [Hash] Additional options.
13086
+ #
13087
+ # @option opts [Hash] :headers ({}) Additional HTTP headers.
13088
+ #
13089
+ # @option opts [Hash] :query ({}) Additional URL query parameters.
13090
+ #
13091
+ # @option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
13092
+ # given then the timeout set globally for the connection will be used.
13093
+ #
13094
+ # @option opts [Boolean] :wait (true) If `true` wait for the response.
13095
+ #
13096
+ # @return [ImageTransfer]
13097
+ #
13098
+ def add_for_image(image_transfer, opts = {})
13099
+ internal_add(image_transfer, ImageTransfer, ADD_FOR_IMAGE, opts)
13100
+ end
13101
+
13102
+ ADD_FOR_SNAPSHOT = [
13103
+ ].freeze
13104
+
13105
+ private_constant :ADD_FOR_SNAPSHOT
13106
+
13107
+ #
13108
+ # Adds a new `image_transfer`.
13109
+ #
13110
+ # @param image_transfer [ImageTransfer] The `image_transfer` to add.
13111
+ #
13112
+ # @param opts [Hash] Additional options.
13113
+ #
13114
+ # @option opts [Hash] :headers ({}) Additional HTTP headers.
13115
+ #
13116
+ # @option opts [Hash] :query ({}) Additional URL query parameters.
13117
+ #
13118
+ # @option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
13119
+ # given then the timeout set globally for the connection will be used.
13120
+ #
13121
+ # @option opts [Boolean] :wait (true) If `true` wait for the response.
13122
+ #
13123
+ # @return [ImageTransfer]
13124
+ #
13125
+ def add_for_snapshot(image_transfer, opts = {})
13126
+ internal_add(image_transfer, ImageTransfer, ADD_FOR_SNAPSHOT, opts)
13127
+ end
13128
+
12621
13129
  LIST = [
12622
13130
  [:follow, String].freeze,
12623
13131
  ].freeze
@@ -15877,6 +16385,23 @@ module OvirtSDK4
15877
16385
  # </network>
15878
16386
  # ----
15879
16387
  #
16388
+ # To create a network named `exnetwork` on top of an external _OpenStack_ network provider `456` send a request
16389
+ # like this:
16390
+ #
16391
+ # [source]
16392
+ # ----
16393
+ # POST /ovirt-engine/api/networks
16394
+ # ----
16395
+ #
16396
+ # [source,xml]
16397
+ # ----
16398
+ # <network>
16399
+ # <name>exnetwork</name>
16400
+ # <external_provider id="456"/>
16401
+ # <data_center id="123"/>
16402
+ # </network>
16403
+ # ----
16404
+ #
15880
16405
  # @param network [Network] The `network` to add.
15881
16406
  #
15882
16407
  # @param opts [Hash] Additional options.
@@ -24149,6 +24674,114 @@ module OvirtSDK4
24149
24674
  internal_add(storage_domain, StorageDomain, ADD, opts)
24150
24675
  end
24151
24676
 
24677
+ ADD_BLOCK_DOMAIN = [
24678
+ ].freeze
24679
+
24680
+ private_constant :ADD_BLOCK_DOMAIN
24681
+
24682
+ #
24683
+ # Import an existing block storage domain to the system using the targets already connected to the host.
24684
+ #
24685
+ # @param storage_domain [StorageDomain] The `storage_domain` to add.
24686
+ #
24687
+ # @param opts [Hash] Additional options.
24688
+ #
24689
+ # @option opts [Hash] :headers ({}) Additional HTTP headers.
24690
+ #
24691
+ # @option opts [Hash] :query ({}) Additional URL query parameters.
24692
+ #
24693
+ # @option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
24694
+ # given then the timeout set globally for the connection will be used.
24695
+ #
24696
+ # @option opts [Boolean] :wait (true) If `true` wait for the response.
24697
+ #
24698
+ # @return [StorageDomain]
24699
+ #
24700
+ def add_block_domain(storage_domain, opts = {})
24701
+ internal_add(storage_domain, StorageDomain, ADD_BLOCK_DOMAIN, opts)
24702
+ end
24703
+
24704
+ ADD_BY_PATH = [
24705
+ ].freeze
24706
+
24707
+ private_constant :ADD_BY_PATH
24708
+
24709
+ #
24710
+ # Add a new storage domain to the system using the storage on the given host and path.
24711
+ #
24712
+ # @param storage_domain [StorageDomain] The `storage_domain` to add.
24713
+ #
24714
+ # @param opts [Hash] Additional options.
24715
+ #
24716
+ # @option opts [Hash] :headers ({}) Additional HTTP headers.
24717
+ #
24718
+ # @option opts [Hash] :query ({}) Additional URL query parameters.
24719
+ #
24720
+ # @option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
24721
+ # given then the timeout set globally for the connection will be used.
24722
+ #
24723
+ # @option opts [Boolean] :wait (true) If `true` wait for the response.
24724
+ #
24725
+ # @return [StorageDomain]
24726
+ #
24727
+ def add_by_path(storage_domain, opts = {})
24728
+ internal_add(storage_domain, StorageDomain, ADD_BY_PATH, opts)
24729
+ end
24730
+
24731
+ ADD_DIRECT_LUN = [
24732
+ ].freeze
24733
+
24734
+ private_constant :ADD_DIRECT_LUN
24735
+
24736
+ #
24737
+ # Add a new storage domain to the system using a direct lun.
24738
+ #
24739
+ # @param storage_domain [StorageDomain] The `storage_domain` to add.
24740
+ #
24741
+ # @param opts [Hash] Additional options.
24742
+ #
24743
+ # @option opts [Hash] :headers ({}) Additional HTTP headers.
24744
+ #
24745
+ # @option opts [Hash] :query ({}) Additional URL query parameters.
24746
+ #
24747
+ # @option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
24748
+ # given then the timeout set globally for the connection will be used.
24749
+ #
24750
+ # @option opts [Boolean] :wait (true) If `true` wait for the response.
24751
+ #
24752
+ # @return [StorageDomain]
24753
+ #
24754
+ def add_direct_lun(storage_domain, opts = {})
24755
+ internal_add(storage_domain, StorageDomain, ADD_DIRECT_LUN, opts)
24756
+ end
24757
+
24758
+ ADD_GLUSTER_OR_POSTFS = [
24759
+ ].freeze
24760
+
24761
+ private_constant :ADD_GLUSTER_OR_POSTFS
24762
+
24763
+ #
24764
+ # Add a new storage domain to the system using the gluster or posixfs storage.
24765
+ #
24766
+ # @param storage_domain [StorageDomain] The `storage_domain` to add.
24767
+ #
24768
+ # @param opts [Hash] Additional options.
24769
+ #
24770
+ # @option opts [Hash] :headers ({}) Additional HTTP headers.
24771
+ #
24772
+ # @option opts [Hash] :query ({}) Additional URL query parameters.
24773
+ #
24774
+ # @option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
24775
+ # given then the timeout set globally for the connection will be used.
24776
+ #
24777
+ # @option opts [Boolean] :wait (true) If `true` wait for the response.
24778
+ #
24779
+ # @return [StorageDomain]
24780
+ #
24781
+ def add_gluster_or_postfs(storage_domain, opts = {})
24782
+ internal_add(storage_domain, StorageDomain, ADD_GLUSTER_OR_POSTFS, opts)
24783
+ end
24784
+
24152
24785
  LIST = [
24153
24786
  [:case_sensitive, TrueClass].freeze,
24154
24787
  [:filter, TrueClass].freeze,
@@ -24195,6 +24828,33 @@ module OvirtSDK4
24195
24828
  internal_get(LIST, opts)
24196
24829
  end
24197
24830
 
24831
+ ADD_LOCAL = [
24832
+ ].freeze
24833
+
24834
+ private_constant :ADD_LOCAL
24835
+
24836
+ #
24837
+ # Add a new storage domain to the system using the storage on the localhost at the given path.
24838
+ #
24839
+ # @param storage_domain [StorageDomain] The `storage_domain` to add.
24840
+ #
24841
+ # @param opts [Hash] Additional options.
24842
+ #
24843
+ # @option opts [Hash] :headers ({}) Additional HTTP headers.
24844
+ #
24845
+ # @option opts [Hash] :query ({}) Additional URL query parameters.
24846
+ #
24847
+ # @option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
24848
+ # given then the timeout set globally for the connection will be used.
24849
+ #
24850
+ # @option opts [Boolean] :wait (true) If `true` wait for the response.
24851
+ #
24852
+ # @return [StorageDomain]
24853
+ #
24854
+ def add_local(storage_domain, opts = {})
24855
+ internal_add(storage_domain, StorageDomain, ADD_LOCAL, opts)
24856
+ end
24857
+
24198
24858
  #
24199
24859
  # Locates the `storage_domain` service.
24200
24860
  #
@@ -24266,32 +24926,26 @@ module OvirtSDK4
24266
24926
  internal_get(GET, opts)
24267
24927
  end
24268
24928
 
24269
- REMOVE = [
24929
+ UPDATE_ISCSI = [
24270
24930
  [:async, TrueClass].freeze,
24271
- [:host, String].freeze,
24931
+ [:force, TrueClass].freeze,
24272
24932
  ].freeze
24273
24933
 
24274
- private_constant :REMOVE
24934
+ private_constant :UPDATE_ISCSI
24275
24935
 
24276
24936
  #
24277
- # Removes a storage connection.
24278
- #
24279
- # A storage connection can only be deleted if neither storage domain nor LUN disks reference it. The host name or
24280
- # id is optional; providing it disconnects (unmounts) the connection from that host.
24937
+ # Update the specified iSCSI storage connection in the system.
24281
24938
  #
24939
+ # @param connection [StorageConnection] The `connection` to update.
24282
24940
  # @param opts [Hash] Additional options.
24283
24941
  #
24284
- # @option opts [Boolean] :async Indicates if the remove should be performed asynchronously.
24285
- # @option opts [String] :host The name or identifier of the host from which the connection would be unmounted (disconnected). If not
24286
- # provided, no host will be disconnected.
24287
- #
24288
- # For example, to use the host with identifier `456` to delete the storage connection with identifier `123`
24289
- # send a request like this:
24942
+ # @option opts [Boolean] :async Indicates if the update should be performed asynchronously.
24943
+ #
24944
+ # @option opts [Boolean] :force Indicates if the operation should succeed regardless to the relevant storage domain's status
24945
+ # (i.e. updating is also applicable when storage domain's status is not maintenance).
24290
24946
  #
24291
- # [source]
24292
- # ----
24293
- # DELETE /ovirt-engine/api/storageconnections/123?host=456
24294
- # ----
24947
+ # This parameter is optional, and the default value is `false`.
24948
+ #
24295
24949
  # @option opts [Hash] :headers ({}) Additional HTTP headers.
24296
24950
  #
24297
24951
  # @option opts [Hash] :query ({}) Additional URL query parameters.
@@ -24301,38 +24955,149 @@ module OvirtSDK4
24301
24955
  #
24302
24956
  # @option opts [Boolean] :wait (true) If `true` wait for the response.
24303
24957
  #
24304
- def remove(opts = {})
24305
- internal_remove(REMOVE, opts)
24958
+ # @return [StorageConnection]
24959
+ #
24960
+ def update_iscsi(connection, opts = {})
24961
+ internal_update(connection, StorageConnection, UPDATE_ISCSI, opts)
24306
24962
  end
24307
24963
 
24308
- UPDATE = [
24964
+ UPDATE_LOCAL = [
24309
24965
  [:async, TrueClass].freeze,
24310
24966
  [:force, TrueClass].freeze,
24311
24967
  ].freeze
24312
24968
 
24313
- private_constant :UPDATE
24969
+ private_constant :UPDATE_LOCAL
24314
24970
 
24315
24971
  #
24316
- # Updates the storage connection.
24317
- #
24318
- # For example, to change the address of the storage server send a request like this:
24319
- #
24320
- # [source,xml]
24321
- # ----
24322
- # PUT /ovirt-engine/api/storageconnections/123
24323
- # ----
24324
- #
24325
- # With a request body like this:
24326
- #
24327
- # [source,xml]
24328
- # ----
24329
- # <storage_connection>
24330
- # <address>mynewnfs.example.com</address>
24331
- # <host>
24332
- # <name>myhost</name>
24333
- # </host>
24334
- # </storage_connection>
24335
- # ----
24972
+ # Update the specified local storage connection in the system.
24973
+ #
24974
+ # @param connection [StorageConnection] The `connection` to update.
24975
+ # @param opts [Hash] Additional options.
24976
+ #
24977
+ # @option opts [Boolean] :async Indicates if the update should be performed asynchronously.
24978
+ #
24979
+ # @option opts [Boolean] :force Indicates if the operation should succeed regardless to the relevant storage domain's status
24980
+ # (i.e. updating is also applicable when storage domain's status is not maintenance).
24981
+ #
24982
+ # This parameter is optional, and the default value is `false`.
24983
+ #
24984
+ # @option opts [Hash] :headers ({}) Additional HTTP headers.
24985
+ #
24986
+ # @option opts [Hash] :query ({}) Additional URL query parameters.
24987
+ #
24988
+ # @option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
24989
+ # given then the timeout set globally for the connection will be used.
24990
+ #
24991
+ # @option opts [Boolean] :wait (true) If `true` wait for the response.
24992
+ #
24993
+ # @return [StorageConnection]
24994
+ #
24995
+ def update_local(connection, opts = {})
24996
+ internal_update(connection, StorageConnection, UPDATE_LOCAL, opts)
24997
+ end
24998
+
24999
+ UPDATE_NFS = [
25000
+ [:async, TrueClass].freeze,
25001
+ [:force, TrueClass].freeze,
25002
+ ].freeze
25003
+
25004
+ private_constant :UPDATE_NFS
25005
+
25006
+ #
25007
+ # Update the specified nfs storage connection in the system.
25008
+ #
25009
+ # @param connection [StorageConnection] The `connection` to update.
25010
+ # @param opts [Hash] Additional options.
25011
+ #
25012
+ # @option opts [Boolean] :async Indicates if the update should be performed asynchronously.
25013
+ #
25014
+ # @option opts [Boolean] :force Indicates if the operation should succeed regardless to the relevant storage domain's status
25015
+ # (i.e. updating is also applicable when storage domain's status is not maintenance).
25016
+ #
25017
+ # This parameter is optional, and the default value is `false`.
25018
+ #
25019
+ # @option opts [Hash] :headers ({}) Additional HTTP headers.
25020
+ #
25021
+ # @option opts [Hash] :query ({}) Additional URL query parameters.
25022
+ #
25023
+ # @option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
25024
+ # given then the timeout set globally for the connection will be used.
25025
+ #
25026
+ # @option opts [Boolean] :wait (true) If `true` wait for the response.
25027
+ #
25028
+ # @return [StorageConnection]
25029
+ #
25030
+ def update_nfs(connection, opts = {})
25031
+ internal_update(connection, StorageConnection, UPDATE_NFS, opts)
25032
+ end
25033
+
25034
+ REMOVE = [
25035
+ [:async, TrueClass].freeze,
25036
+ [:host, String].freeze,
25037
+ ].freeze
25038
+
25039
+ private_constant :REMOVE
25040
+
25041
+ #
25042
+ # Removes a storage connection.
25043
+ #
25044
+ # A storage connection can only be deleted if neither storage domain nor LUN disks reference it. The host name or
25045
+ # id is optional; providing it disconnects (unmounts) the connection from that host.
25046
+ #
25047
+ # @param opts [Hash] Additional options.
25048
+ #
25049
+ # @option opts [Boolean] :async Indicates if the remove should be performed asynchronously.
25050
+ # @option opts [String] :host The name or identifier of the host from which the connection would be unmounted (disconnected). If not
25051
+ # provided, no host will be disconnected.
25052
+ #
25053
+ # For example, to use the host with identifier `456` to delete the storage connection with identifier `123`
25054
+ # send a request like this:
25055
+ #
25056
+ # [source]
25057
+ # ----
25058
+ # DELETE /ovirt-engine/api/storageconnections/123?host=456
25059
+ # ----
25060
+ # @option opts [Hash] :headers ({}) Additional HTTP headers.
25061
+ #
25062
+ # @option opts [Hash] :query ({}) Additional URL query parameters.
25063
+ #
25064
+ # @option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
25065
+ # given then the timeout set globally for the connection will be used.
25066
+ #
25067
+ # @option opts [Boolean] :wait (true) If `true` wait for the response.
25068
+ #
25069
+ def remove(opts = {})
25070
+ internal_remove(REMOVE, opts)
25071
+ end
25072
+
25073
+ UPDATE = [
25074
+ [:async, TrueClass].freeze,
25075
+ [:force, TrueClass].freeze,
25076
+ ].freeze
25077
+
25078
+ private_constant :UPDATE
25079
+
25080
+ #
25081
+ # Updates the storage connection.
25082
+ #
25083
+ # For example, to change the address of the storage server send a request like this:
25084
+ #
25085
+ # [source,xml]
25086
+ # ----
25087
+ # PUT /ovirt-engine/api/storageconnections/123
25088
+ # ----
25089
+ #
25090
+ # With a request body like this:
25091
+ #
25092
+ # [source,xml]
25093
+ # ----
25094
+ # <storage_connection>
25095
+ # <address>mynewnfs.example.com</address>
25096
+ # <host>
25097
+ # <name>myhost</name>
25098
+ # </host>
25099
+ # </storage_connection>
25100
+ # ----
24336
25101
  #
24337
25102
  # @param connection [StorageConnection] The `connection` to update.
24338
25103
  # @param opts [Hash] Additional options.
@@ -24359,6 +25124,41 @@ module OvirtSDK4
24359
25124
  internal_update(connection, StorageConnection, UPDATE, opts)
24360
25125
  end
24361
25126
 
25127
+ UPDATE_VFS = [
25128
+ [:async, TrueClass].freeze,
25129
+ [:force, TrueClass].freeze,
25130
+ ].freeze
25131
+
25132
+ private_constant :UPDATE_VFS
25133
+
25134
+ #
25135
+ # Update the specified vfs storage connection in the system.
25136
+ #
25137
+ # @param connection [StorageConnection] The `connection` to update.
25138
+ # @param opts [Hash] Additional options.
25139
+ #
25140
+ # @option opts [Boolean] :async Indicates if the update should be performed asynchronously.
25141
+ #
25142
+ # @option opts [Boolean] :force Indicates if the operation should succeed regardless to the relevant storage domain's status
25143
+ # (i.e. updating is also applicable when storage domain's status is not maintenance).
25144
+ #
25145
+ # This parameter is optional, and the default value is `false`.
25146
+ #
25147
+ # @option opts [Hash] :headers ({}) Additional HTTP headers.
25148
+ #
25149
+ # @option opts [Hash] :query ({}) Additional URL query parameters.
25150
+ #
25151
+ # @option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
25152
+ # given then the timeout set globally for the connection will be used.
25153
+ #
25154
+ # @option opts [Boolean] :wait (true) If `true` wait for the response.
25155
+ #
25156
+ # @return [StorageConnection]
25157
+ #
25158
+ def update_vfs(connection, opts = {})
25159
+ internal_update(connection, StorageConnection, UPDATE_VFS, opts)
25160
+ end
25161
+
24362
25162
  #
24363
25163
  # Locates the service corresponding to the given path.
24364
25164
  #
@@ -24686,6 +25486,33 @@ module OvirtSDK4
24686
25486
  internal_add(connection, StorageConnection, ADD, opts)
24687
25487
  end
24688
25488
 
25489
+ ADD_ISCSI = [
25490
+ ].freeze
25491
+
25492
+ private_constant :ADD_ISCSI
25493
+
25494
+ #
25495
+ # Add a iSCSI storage connection to the system.
25496
+ #
25497
+ # @param connection [StorageConnection] The `connection` to add.
25498
+ #
25499
+ # @param opts [Hash] Additional options.
25500
+ #
25501
+ # @option opts [Hash] :headers ({}) Additional HTTP headers.
25502
+ #
25503
+ # @option opts [Hash] :query ({}) Additional URL query parameters.
25504
+ #
25505
+ # @option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
25506
+ # given then the timeout set globally for the connection will be used.
25507
+ #
25508
+ # @option opts [Boolean] :wait (true) If `true` wait for the response.
25509
+ #
25510
+ # @return [StorageConnection]
25511
+ #
25512
+ def add_iscsi(connection, opts = {})
25513
+ internal_add(connection, StorageConnection, ADD_ISCSI, opts)
25514
+ end
25515
+
24689
25516
  LIST = [
24690
25517
  [:follow, String].freeze,
24691
25518
  [:max, Integer].freeze,
@@ -24720,6 +25547,87 @@ module OvirtSDK4
24720
25547
  internal_get(LIST, opts)
24721
25548
  end
24722
25549
 
25550
+ ADD_LOCAL = [
25551
+ ].freeze
25552
+
25553
+ private_constant :ADD_LOCAL
25554
+
25555
+ #
25556
+ # Add a local storage connection to the system.
25557
+ #
25558
+ # @param connection [StorageConnection] The `connection` to add.
25559
+ #
25560
+ # @param opts [Hash] Additional options.
25561
+ #
25562
+ # @option opts [Hash] :headers ({}) Additional HTTP headers.
25563
+ #
25564
+ # @option opts [Hash] :query ({}) Additional URL query parameters.
25565
+ #
25566
+ # @option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
25567
+ # given then the timeout set globally for the connection will be used.
25568
+ #
25569
+ # @option opts [Boolean] :wait (true) If `true` wait for the response.
25570
+ #
25571
+ # @return [StorageConnection]
25572
+ #
25573
+ def add_local(connection, opts = {})
25574
+ internal_add(connection, StorageConnection, ADD_LOCAL, opts)
25575
+ end
25576
+
25577
+ ADD_NFS = [
25578
+ ].freeze
25579
+
25580
+ private_constant :ADD_NFS
25581
+
25582
+ #
25583
+ # Add a nfs storage connection to the system.
25584
+ #
25585
+ # @param connection [StorageConnection] The `connection` to add.
25586
+ #
25587
+ # @param opts [Hash] Additional options.
25588
+ #
25589
+ # @option opts [Hash] :headers ({}) Additional HTTP headers.
25590
+ #
25591
+ # @option opts [Hash] :query ({}) Additional URL query parameters.
25592
+ #
25593
+ # @option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
25594
+ # given then the timeout set globally for the connection will be used.
25595
+ #
25596
+ # @option opts [Boolean] :wait (true) If `true` wait for the response.
25597
+ #
25598
+ # @return [StorageConnection]
25599
+ #
25600
+ def add_nfs(connection, opts = {})
25601
+ internal_add(connection, StorageConnection, ADD_NFS, opts)
25602
+ end
25603
+
25604
+ ADD_VFS = [
25605
+ ].freeze
25606
+
25607
+ private_constant :ADD_VFS
25608
+
25609
+ #
25610
+ # Add a vfs storage connection to the system.
25611
+ #
25612
+ # @param connection [StorageConnection] The `connection` to add.
25613
+ #
25614
+ # @param opts [Hash] Additional options.
25615
+ #
25616
+ # @option opts [Hash] :headers ({}) Additional HTTP headers.
25617
+ #
25618
+ # @option opts [Hash] :query ({}) Additional URL query parameters.
25619
+ #
25620
+ # @option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
25621
+ # given then the timeout set globally for the connection will be used.
25622
+ #
25623
+ # @option opts [Boolean] :wait (true) If `true` wait for the response.
25624
+ #
25625
+ # @return [StorageConnection]
25626
+ #
25627
+ def add_vfs(connection, opts = {})
25628
+ internal_add(connection, StorageConnection, ADD_VFS, opts)
25629
+ end
25630
+
24723
25631
  #
24724
25632
  # Locates the `storage_connection` service.
24725
25633
  #
@@ -25761,6 +26669,114 @@ module OvirtSDK4
25761
26669
  internal_add(permission, Permission, ADD, opts)
25762
26670
  end
25763
26671
 
26672
+ ADD_CLUSTER_PERMISSION = [
26673
+ ].freeze
26674
+
26675
+ private_constant :ADD_CLUSTER_PERMISSION
26676
+
26677
+ #
26678
+ # Add a new permission on the cluster to the group in the system.
26679
+ #
26680
+ # @param permission [Permission] The permission.
26681
+ #
26682
+ # @param opts [Hash] Additional options.
26683
+ #
26684
+ # @option opts [Hash] :headers ({}) Additional HTTP headers.
26685
+ #
26686
+ # @option opts [Hash] :query ({}) Additional URL query parameters.
26687
+ #
26688
+ # @option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
26689
+ # given then the timeout set globally for the connection will be used.
26690
+ #
26691
+ # @option opts [Boolean] :wait (true) If `true` wait for the response.
26692
+ #
26693
+ # @return [Permission]
26694
+ #
26695
+ def add_cluster_permission(permission, opts = {})
26696
+ internal_add(permission, Permission, ADD_CLUSTER_PERMISSION, opts)
26697
+ end
26698
+
26699
+ ADD_DATA_CENTER_PERMISSION = [
26700
+ ].freeze
26701
+
26702
+ private_constant :ADD_DATA_CENTER_PERMISSION
26703
+
26704
+ #
26705
+ # Add a new permission on the data center to the group in the system.
26706
+ #
26707
+ # @param permission [Permission] The permission.
26708
+ #
26709
+ # @param opts [Hash] Additional options.
26710
+ #
26711
+ # @option opts [Hash] :headers ({}) Additional HTTP headers.
26712
+ #
26713
+ # @option opts [Hash] :query ({}) Additional URL query parameters.
26714
+ #
26715
+ # @option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
26716
+ # given then the timeout set globally for the connection will be used.
26717
+ #
26718
+ # @option opts [Boolean] :wait (true) If `true` wait for the response.
26719
+ #
26720
+ # @return [Permission]
26721
+ #
26722
+ def add_data_center_permission(permission, opts = {})
26723
+ internal_add(permission, Permission, ADD_DATA_CENTER_PERMISSION, opts)
26724
+ end
26725
+
26726
+ ADD_GROUP_LEVEL = [
26727
+ ].freeze
26728
+
26729
+ private_constant :ADD_GROUP_LEVEL
26730
+
26731
+ #
26732
+ # Add a new group level permission for a given virtual machine.
26733
+ #
26734
+ # @param permission [Permission] The permission.
26735
+ #
26736
+ # @param opts [Hash] Additional options.
26737
+ #
26738
+ # @option opts [Hash] :headers ({}) Additional HTTP headers.
26739
+ #
26740
+ # @option opts [Hash] :query ({}) Additional URL query parameters.
26741
+ #
26742
+ # @option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
26743
+ # given then the timeout set globally for the connection will be used.
26744
+ #
26745
+ # @option opts [Boolean] :wait (true) If `true` wait for the response.
26746
+ #
26747
+ # @return [Permission]
26748
+ #
26749
+ def add_group_level(permission, opts = {})
26750
+ internal_add(permission, Permission, ADD_GROUP_LEVEL, opts)
26751
+ end
26752
+
26753
+ ADD_HOST_PERMISSION = [
26754
+ ].freeze
26755
+
26756
+ private_constant :ADD_HOST_PERMISSION
26757
+
26758
+ #
26759
+ # Add a new permission on the host to the group in the system.
26760
+ #
26761
+ # @param permission [Permission] The permission.
26762
+ #
26763
+ # @param opts [Hash] Additional options.
26764
+ #
26765
+ # @option opts [Hash] :headers ({}) Additional HTTP headers.
26766
+ #
26767
+ # @option opts [Hash] :query ({}) Additional URL query parameters.
26768
+ #
26769
+ # @option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
26770
+ # given then the timeout set globally for the connection will be used.
26771
+ #
26772
+ # @option opts [Boolean] :wait (true) If `true` wait for the response.
26773
+ #
26774
+ # @return [Permission]
26775
+ #
26776
+ def add_host_permission(permission, opts = {})
26777
+ internal_add(permission, Permission, ADD_HOST_PERMISSION, opts)
26778
+ end
26779
+
25764
26780
  LIST = [
25765
26781
  [:follow, String].freeze,
25766
26782
  ].freeze
@@ -25814,6 +26830,141 @@ module OvirtSDK4
25814
26830
  internal_get(LIST, opts)
25815
26831
  end
25816
26832
 
26833
+ ADD_STORAGE_DOMAIN_PERMISSION = [
26834
+ ].freeze
26835
+
26836
+ private_constant :ADD_STORAGE_DOMAIN_PERMISSION
26837
+
26838
+ #
26839
+ # Add a new permission on the storage domain to the group in the system.
26840
+ #
26841
+ # @param permission [Permission] The permission.
26842
+ #
26843
+ # @param opts [Hash] Additional options.
26844
+ #
26845
+ # @option opts [Hash] :headers ({}) Additional HTTP headers.
26846
+ #
26847
+ # @option opts [Hash] :query ({}) Additional URL query parameters.
26848
+ #
26849
+ # @option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
26850
+ # given then the timeout set globally for the connection will be used.
26851
+ #
26852
+ # @option opts [Boolean] :wait (true) If `true` wait for the response.
26853
+ #
26854
+ # @return [Permission]
26855
+ #
26856
+ def add_storage_domain_permission(permission, opts = {})
26857
+ internal_add(permission, Permission, ADD_STORAGE_DOMAIN_PERMISSION, opts)
26858
+ end
26859
+
26860
+ ADD_TEMPLATE_PERMISSION = [
26861
+ ].freeze
26862
+
26863
+ private_constant :ADD_TEMPLATE_PERMISSION
26864
+
26865
+ #
26866
+ # Add a new permission on the template to the group in the system.
26867
+ #
26868
+ # @param permission [Permission] The permission.
26869
+ #
26870
+ # @param opts [Hash] Additional options.
26871
+ #
26872
+ # @option opts [Hash] :headers ({}) Additional HTTP headers.
26873
+ #
26874
+ # @option opts [Hash] :query ({}) Additional URL query parameters.
26875
+ #
26876
+ # @option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
26877
+ # given then the timeout set globally for the connection will be used.
26878
+ #
26879
+ # @option opts [Boolean] :wait (true) If `true` wait for the response.
26880
+ #
26881
+ # @return [Permission]
26882
+ #
26883
+ def add_template_permission(permission, opts = {})
26884
+ internal_add(permission, Permission, ADD_TEMPLATE_PERMISSION, opts)
26885
+ end
26886
+
26887
+ ADD_USER_LEVEL = [
26888
+ ].freeze
26889
+
26890
+ private_constant :ADD_USER_LEVEL
26891
+
26892
+ #
26893
+ # Add a new user level permission for a given virtual machine.
26894
+ #
26895
+ # @param permission [Permission] The permission.
26896
+ #
26897
+ # @param opts [Hash] Additional options.
26898
+ #
26899
+ # @option opts [Hash] :headers ({}) Additional HTTP headers.
26900
+ #
26901
+ # @option opts [Hash] :query ({}) Additional URL query parameters.
26902
+ #
26903
+ # @option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
26904
+ # given then the timeout set globally for the connection will be used.
26905
+ #
26906
+ # @option opts [Boolean] :wait (true) If `true` wait for the response.
26907
+ #
26908
+ # @return [Permission]
26909
+ #
26910
+ def add_user_level(permission, opts = {})
26911
+ internal_add(permission, Permission, ADD_USER_LEVEL, opts)
26912
+ end
26913
+
26914
+ ADD_VM_PERMISSION = [
26915
+ ].freeze
26916
+
26917
+ private_constant :ADD_VM_PERMISSION
26918
+
26919
+ #
26920
+ # Add a new permission on the vm to the group in the system.
26921
+ #
26922
+ # @param permission [Permission] The permission.
26923
+ #
26924
+ # @param opts [Hash] Additional options.
26925
+ #
26926
+ # @option opts [Hash] :headers ({}) Additional HTTP headers.
26927
+ #
26928
+ # @option opts [Hash] :query ({}) Additional URL query parameters.
26929
+ #
26930
+ # @option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
26931
+ # given then the timeout set globally for the connection will be used.
26932
+ #
26933
+ # @option opts [Boolean] :wait (true) If `true` wait for the response.
26934
+ #
26935
+ # @return [Permission]
26936
+ #
26937
+ def add_vm_permission(permission, opts = {})
26938
+ internal_add(permission, Permission, ADD_VM_PERMISSION, opts)
26939
+ end
26940
+
26941
+ ADD_VM_POOL_PERMISSION = [
26942
+ ].freeze
26943
+
26944
+ private_constant :ADD_VM_POOL_PERMISSION
26945
+
26946
+ #
26947
+ # Add a new permission on the vm pool to the group in the system.
26948
+ #
26949
+ # @param permission [Permission] The permission.
26950
+ #
26951
+ # @param opts [Hash] Additional options.
26952
+ #
26953
+ # @option opts [Hash] :headers ({}) Additional HTTP headers.
26954
+ #
26955
+ # @option opts [Hash] :query ({}) Additional URL query parameters.
26956
+ #
26957
+ # @option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
26958
+ # given then the timeout set globally for the connection will be used.
26959
+ #
26960
+ # @option opts [Boolean] :wait (true) If `true` wait for the response.
26961
+ #
26962
+ # @return [Permission]
26963
+ #
26964
+ def add_vm_pool_permission(permission, opts = {})
26965
+ internal_add(permission, Permission, ADD_VM_POOL_PERMISSION, opts)
26966
+ end
26967
+
25817
26968
  #
25818
26969
  # Sub-resource locator method, returns individual permission resource on which the remainder of the URI is
25819
26970
  # dispatched.
@@ -27651,9 +28802,9 @@ module OvirtSDK4
27651
28802
  # The disks of the template can be customized, making some of their characteristics different from the disks of the
27652
28803
  # original virtual machine. To do so use the `vm.disk_attachments` attribute, specifying the identifier of the disk
27653
28804
  # of the original virtual machine and the characteristics that you want to change. For example, if the original
27654
- # virtual machine has a disk with the identifier `456`, and, for that disk, you want to change the format to
27655
- # <<types/disk_format, _Copy On Write_>> and make the disk <<types/disk, sparse>>, send a request body
27656
- # like this:
28805
+ # virtual machine has a disk with the identifier `456`, and, for that disk, you want to change the name to `mydisk`
28806
+ # the format to <<types/disk_format, _Copy On Write_>> and make it <<types/disk, sparse>>, send a request body like
28807
+ # this:
27657
28808
  #
27658
28809
  # [source,xml]
27659
28810
  # ----
@@ -27663,6 +28814,7 @@ module OvirtSDK4
27663
28814
  # <disk_attachments>
27664
28815
  # <disk_attachment>
27665
28816
  # <disk id="456">
28817
+ # <name>mydisk</name>
27666
28818
  # <format>cow</format>
27667
28819
  # <sparse>true</sparse>
27668
28820
  # </disk>
@@ -28724,8 +29876,9 @@ module OvirtSDK4
28724
29876
  private_constant :EXPORT
28725
29877
 
28726
29878
  #
28727
- # Exports a virtual machine to an export domain.
29879
+ # Exports the virtual machine.
28728
29880
  #
29881
+ # A virtual machine can be exported to an export domain.
28729
29882
  # For example, to export virtual machine `123` to the export domain `myexport`:
28730
29883
  #
28731
29884
  # [source]
@@ -28746,6 +29899,27 @@ module OvirtSDK4
28746
29899
  # </action>
28747
29900
  # ----
28748
29901
  #
29902
+ # Since version 4.2 of the engine it is also possible to export a virtual machine as a virtual appliance (OVA).
29903
+ # For example, to export virtual machine `123` as an OVA file named `myvm.ova` that is placed in the directory `/home/ovirt/` on host `myhost`:
29904
+ #
29905
+ # [source]
29906
+ # ----
29907
+ # POST /ovirt-engine/api/vms/123/export
29908
+ # ----
29909
+ #
29910
+ # With a request body like this:
29911
+ #
29912
+ # [source,xml]
29913
+ # ----
29914
+ # <action>
29915
+ # <host>
29916
+ # <name>myhost</name>
29917
+ # </host>
29918
+ # <directory>/home/ovirt</directory>
29919
+ # <filename>myvm.ova</filename>
29920
+ # </action>
29921
+ # ----
29922
+ #
28749
29923
  # @param opts [Hash] Additional options.
28750
29924
  #
28751
29925
  # @option opts [Boolean] :async Indicates if the export should be performed asynchronously.
@@ -28756,7 +29930,7 @@ module OvirtSDK4
28756
29930
  # @option opts [Boolean] :exclusive Use the `exclusive` parameter when the virtual machine should be exported even if another copy of
28757
29931
  # it already exists in the export domain (override).
28758
29932
  #
28759
- # @option opts [StorageDomain] :storage_domain
29933
+ # @option opts [StorageDomain] :storage_domain The (export) storage domain to export the virtual machine to.
28760
29934
  #
28761
29935
  # @option opts [Hash] :headers ({}) Additional HTTP headers.
28762
29936
  #
@@ -29502,6 +30676,92 @@ module OvirtSDK4
29502
30676
  internal_action(:ticket, :ticket, TICKET, opts)
29503
30677
  end
29504
30678
 
30679
+ EXPORT_TO_EXPORT_DOMAIN = [
30680
+ [:async, TrueClass].freeze,
30681
+ [:discard_snapshots, TrueClass].freeze,
30682
+ [:exclusive, TrueClass].freeze,
30683
+ [:storage_domain, StorageDomain].freeze,
30684
+ ].freeze
30685
+
30686
+ private_constant :EXPORT_TO_EXPORT_DOMAIN
30687
+
30688
+ #
30689
+ # Exports a virtual machine to an export domain.
30690
+ #
30691
+ # @param opts [Hash] Additional options.
30692
+ #
30693
+ # @option opts [Boolean] :async Indicates if the export should be performed asynchronously.
30694
+ #
30695
+ # @option opts [Boolean] :discard_snapshots Use the `discard_snapshots` parameter when the virtual machine should be exported with all of its
30696
+ # snapshots collapsed.
30697
+ #
30698
+ # @option opts [Boolean] :exclusive Use the `exclusive` parameter when the virtual machine should be exported even if another copy of
30699
+ # it already exists in the export domain (override).
30700
+ #
30701
+ # @option opts [StorageDomain] :storage_domain The (export) storage domain to export the virtual machine to.
30702
+ #
30703
+ # @option opts [Hash] :headers ({}) Additional HTTP headers.
30704
+ #
30705
+ # @option opts [Hash] :query ({}) Additional URL query parameters.
30706
+ #
30707
+ # @option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
30708
+ # given then the timeout set globally for the connection will be used.
30709
+ #
30710
+ # @option opts [Boolean] :wait (true) If `true` wait for the response.
30711
+ #
30712
+ def export_to_export_domain(opts = {})
30713
+ internal_action(:export, nil, EXPORT_TO_EXPORT_DOMAIN, opts)
30714
+ end
30715
+
30716
+ EXPORT_TO_PATH_ON_HOST = [
30717
+ [:async, TrueClass].freeze,
30718
+ [:directory, String].freeze,
30719
+ [:discard_snapshots, TrueClass].freeze,
30720
+ [:exclusive, TrueClass].freeze,
30721
+ [:filename, String].freeze,
30722
+ [:host, Host].freeze,
30723
+ [:storage_domain, StorageDomain].freeze,
30724
+ ].freeze
30725
+
30726
+ private_constant :EXPORT_TO_PATH_ON_HOST
30727
+
30728
+ #
30729
+ # Exports a virtual machine as an OVA file to a given path on a specified host.
30730
+ #
30731
+ # @param opts [Hash] Additional options.
30732
+ #
30733
+ # @option opts [Boolean] :async Indicates if the export should be performed asynchronously.
30734
+ #
30735
+ # @option opts [String] :directory An absolute path of a directory on the host to generate the OVA file in.
30736
+ #
30737
+ # @option opts [Boolean] :discard_snapshots Use the `discard_snapshots` parameter when the virtual machine should be exported with all of its
30738
+ # snapshots collapsed.
30739
+ #
30740
+ # @option opts [Boolean] :exclusive Use the `exclusive` parameter when the virtual machine should be exported even if another copy of
30741
+ # it already exists in the export domain (override).
30742
+ #
30743
+ # @option opts [String] :filename The name of the OVA file.
30744
+ #
30745
+ # This is an optional parameter, if it is not specified then the name of OVA file is determined according
30746
+ # to the name of the virtual machine. It will conform the following pattern: "<virtual machine name>.ova".
30747
+ #
30748
+ # @option opts [Host] :host The host to generate the OVA file on.
30749
+ #
30750
+ # @option opts [StorageDomain] :storage_domain The (export) storage domain to export the virtual machine to.
30751
+ #
30752
+ # @option opts [Hash] :headers ({}) Additional HTTP headers.
30753
+ #
30754
+ # @option opts [Hash] :query ({}) Additional URL query parameters.
30755
+ #
30756
+ # @option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
30757
+ # given then the timeout set globally for the connection will be used.
30758
+ #
30759
+ # @option opts [Boolean] :wait (true) If `true` wait for the response.
30760
+ #
30761
+ def export_to_path_on_host(opts = {})
30762
+ internal_action(:export, nil, EXPORT_TO_PATH_ON_HOST, opts)
30763
+ end
30764
+
29505
30765
  UNDO_SNAPSHOT = [
29506
30766
  [:async, TrueClass].freeze,
29507
30767
  ].freeze
@@ -33093,6 +34353,264 @@ module OvirtSDK4
33093
34353
  internal_add(vm, Vm, ADD, opts)
33094
34354
  end
33095
34355
 
34356
+ ADD_FROM_CONFIGURATION = [
34357
+ [:clone, TrueClass].freeze,
34358
+ [:clone_permissions, TrueClass].freeze,
34359
+ ].freeze
34360
+
34361
+ private_constant :ADD_FROM_CONFIGURATION
34362
+
34363
+ #
34364
+ # add a virtual machine to the system from a configuration - requires the configuration type and the configuration data
34365
+ #
34366
+ # @param vm [Vm] The `vm` to add.
34367
+ #
34368
+ # @param opts [Hash] Additional options.
34369
+ #
34370
+ # @option opts [Boolean] :clone Specifies if the virtual machine should be independent of the template.
34371
+ #
34372
+ # When a virtual machine is created from a template by default the disks of the virtual machine depend on
34373
+ # the disks of the template, they are using the https://en.wikipedia.org/wiki/Copy-on-write[_copy on write_]
34374
+ # mechanism so that only the differences from the template take up real storage space. If this parameter is
34375
+ # specified and the value is `true` then the disks of the created virtual machine will be _cloned_, and
34376
+ # independent of the template. For example, to create an independent virtual machine, send a request like this:
34377
+ #
34378
+ # [source]
34379
+ # ----
34380
+ # POST /ovirt-engine/vms?clone=true
34381
+ # ----
34382
+ #
34383
+ # With a request body like this:
34384
+ #
34385
+ # [source,xml]
34386
+ # ----
34387
+ # <vm>
34388
+ # <name>myvm<name>
34389
+ # <template>
34390
+ # <name>mytemplate<name>
34391
+ # </template>
34392
+ # <cluster>
34393
+ # <name>mycluster<name>
34394
+ # </cluster>
34395
+ # </vm>
34396
+ # ----
34397
+ #
34398
+ # NOTE: When this parameter is `true` the permissions of the template will also be copied, as when using
34399
+ # `clone_permissions=true`.
34400
+ #
34401
+ # @option opts [Boolean] :clone_permissions Specifies if the permissions of the template should be copied to the virtual machine.
34402
+ #
34403
+ # If this optional parameter is provided, and its values is `true` then the permissions of the template (only
34404
+ # the direct ones, not the inherited ones) will be copied to the created virtual machine. For example, to
34405
+ # create a virtual machine from the `mytemplate` template copying its permissions, send a request like this:
34406
+ #
34407
+ # [source]
34408
+ # ----
34409
+ # POST /ovirt-engine/api/vms?clone_permissions=true
34410
+ # ----
34411
+ #
34412
+ # With a request body like this:
34413
+ #
34414
+ # [source,xml]
34415
+ # ----
34416
+ # <vm>
34417
+ # <name>myvm<name>
34418
+ # <template>
34419
+ # <name>mytemplate<name>
34420
+ # </template>
34421
+ # <cluster>
34422
+ # <name>mycluster<name>
34423
+ # </cluster>
34424
+ # </vm>
34425
+ # ----
34426
+ #
34427
+ # @option opts [Hash] :headers ({}) Additional HTTP headers.
34428
+ #
34429
+ # @option opts [Hash] :query ({}) Additional URL query parameters.
34430
+ #
34431
+ # @option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
34432
+ # given then the timeout set globally for the connection will be used.
34433
+ #
34434
+ # @option opts [Boolean] :wait (true) If `true` wait for the response.
34435
+ #
34436
+ # @return [Vm]
34437
+ #
34438
+ def add_from_configuration(vm, opts = {})
34439
+ internal_add(vm, Vm, ADD_FROM_CONFIGURATION, opts)
34440
+ end
34441
+
34442
+ ADD_FROM_SCRATCH = [
34443
+ [:clone, TrueClass].freeze,
34444
+ [:clone_permissions, TrueClass].freeze,
34445
+ ].freeze
34446
+
34447
+ private_constant :ADD_FROM_SCRATCH
34448
+
34449
+ #
34450
+ # add a virtual machine to the system from scratch
34451
+ #
34452
+ # @param vm [Vm] The `vm` to add.
34453
+ #
34454
+ # @param opts [Hash] Additional options.
34455
+ #
34456
+ # @option opts [Boolean] :clone Specifies if the virtual machine should be independent of the template.
34457
+ #
34458
+ # When a virtual machine is created from a template by default the disks of the virtual machine depend on
34459
+ # the disks of the template, they are using the https://en.wikipedia.org/wiki/Copy-on-write[_copy on write_]
34460
+ # mechanism so that only the differences from the template take up real storage space. If this parameter is
34461
+ # specified and the value is `true` then the disks of the created virtual machine will be _cloned_, and
34462
+ # independent of the template. For example, to create an independent virtual machine, send a request like this:
34463
+ #
34464
+ # [source]
34465
+ # ----
34466
+ # POST /ovirt-engine/vms?clone=true
34467
+ # ----
34468
+ #
34469
+ # With a request body like this:
34470
+ #
34471
+ # [source,xml]
34472
+ # ----
34473
+ # <vm>
34474
+ # <name>myvm<name>
34475
+ # <template>
34476
+ # <name>mytemplate<name>
34477
+ # </template>
34478
+ # <cluster>
34479
+ # <name>mycluster<name>
34480
+ # </cluster>
34481
+ # </vm>
34482
+ # ----
34483
+ #
34484
+ # NOTE: When this parameter is `true` the permissions of the template will also be copied, as when using
34485
+ # `clone_permissions=true`.
34486
+ #
34487
+ # @option opts [Boolean] :clone_permissions Specifies if the permissions of the template should be copied to the virtual machine.
34488
+ #
34489
+ # If this optional parameter is provided, and its values is `true` then the permissions of the template (only
34490
+ # the direct ones, not the inherited ones) will be copied to the created virtual machine. For example, to
34491
+ # create a virtual machine from the `mytemplate` template copying its permissions, send a request like this:
34492
+ #
34493
+ # [source]
34494
+ # ----
34495
+ # POST /ovirt-engine/api/vms?clone_permissions=true
34496
+ # ----
34497
+ #
34498
+ # With a request body like this:
34499
+ #
34500
+ # [source,xml]
34501
+ # ----
34502
+ # <vm>
34503
+ # <name>myvm<name>
34504
+ # <template>
34505
+ # <name>mytemplate<name>
34506
+ # </template>
34507
+ # <cluster>
34508
+ # <name>mycluster<name>
34509
+ # </cluster>
34510
+ # </vm>
34511
+ # ----
34512
+ #
34513
+ # @option opts [Hash] :headers ({}) Additional HTTP headers.
34514
+ #
34515
+ # @option opts [Hash] :query ({}) Additional URL query parameters.
34516
+ #
34517
+ # @option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
34518
+ # given then the timeout set globally for the connection will be used.
34519
+ #
34520
+ # @option opts [Boolean] :wait (true) If `true` wait for the response.
34521
+ #
34522
+ # @return [Vm]
34523
+ #
34524
+ def add_from_scratch(vm, opts = {})
34525
+ internal_add(vm, Vm, ADD_FROM_SCRATCH, opts)
34526
+ end
34527
+
34528
+ ADD_FROM_SNAPSHOT = [
34529
+ [:clone, TrueClass].freeze,
34530
+ [:clone_permissions, TrueClass].freeze,
34531
+ ].freeze
34532
+
34533
+ private_constant :ADD_FROM_SNAPSHOT
34534
+
34535
+ #
34536
+ # add a virtual machine to the system by cloning from a snapshot
34537
+ #
34538
+ # @param vm [Vm] The `vm` to add.
34539
+ #
34540
+ # @param opts [Hash] Additional options.
34541
+ #
34542
+ # @option opts [Boolean] :clone Specifies if the virtual machine should be independent of the template.
34543
+ #
34544
+ # When a virtual machine is created from a template by default the disks of the virtual machine depend on
34545
+ # the disks of the template, they are using the https://en.wikipedia.org/wiki/Copy-on-write[_copy on write_]
34546
+ # mechanism so that only the differences from the template take up real storage space. If this parameter is
34547
+ # specified and the value is `true` then the disks of the created virtual machine will be _cloned_, and
34548
+ # independent of the template. For example, to create an independent virtual machine, send a request like this:
34549
+ #
34550
+ # [source]
34551
+ # ----
34552
+ # POST /ovirt-engine/vms?clone=true
34553
+ # ----
34554
+ #
34555
+ # With a request body like this:
34556
+ #
34557
+ # [source,xml]
34558
+ # ----
34559
+ # <vm>
34560
+ # <name>myvm<name>
34561
+ # <template>
34562
+ # <name>mytemplate<name>
34563
+ # </template>
34564
+ # <cluster>
34565
+ # <name>mycluster<name>
34566
+ # </cluster>
34567
+ # </vm>
34568
+ # ----
34569
+ #
34570
+ # NOTE: When this parameter is `true` the permissions of the template will also be copied, as when using
34571
+ # `clone_permissions=true`.
34572
+ #
34573
+ # @option opts [Boolean] :clone_permissions Specifies if the permissions of the template should be copied to the virtual machine.
34574
+ #
34575
+ # If this optional parameter is provided, and its values is `true` then the permissions of the template (only
34576
+ # the direct ones, not the inherited ones) will be copied to the created virtual machine. For example, to
34577
+ # create a virtual machine from the `mytemplate` template copying its permissions, send a request like this:
34578
+ #
34579
+ # [source]
34580
+ # ----
34581
+ # POST /ovirt-engine/api/vms?clone_permissions=true
34582
+ # ----
34583
+ #
34584
+ # With a request body like this:
34585
+ #
34586
+ # [source,xml]
34587
+ # ----
34588
+ # <vm>
34589
+ # <name>myvm<name>
34590
+ # <template>
34591
+ # <name>mytemplate<name>
34592
+ # </template>
34593
+ # <cluster>
34594
+ # <name>mycluster<name>
34595
+ # </cluster>
34596
+ # </vm>
34597
+ # ----
34598
+ #
34599
+ # @option opts [Hash] :headers ({}) Additional HTTP headers.
34600
+ #
34601
+ # @option opts [Hash] :query ({}) Additional URL query parameters.
34602
+ #
34603
+ # @option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
34604
+ # given then the timeout set globally for the connection will be used.
34605
+ #
34606
+ # @option opts [Boolean] :wait (true) If `true` wait for the response.
34607
+ #
34608
+ # @return [Vm]
34609
+ #
34610
+ def add_from_snapshot(vm, opts = {})
34611
+ internal_add(vm, Vm, ADD_FROM_SNAPSHOT, opts)
34612
+ end
34613
+
33096
34614
  LIST = [
33097
34615
  [:all_content, TrueClass].freeze,
33098
34616
  [:case_sensitive, TrueClass].freeze,
@@ -36415,6 +37933,230 @@ module OvirtSDK4
36415
37933
  internal_action(:upgradecheck, nil, UPGRADE_CHECK, opts)
36416
37934
  end
36417
37935
 
37936
+ APPROVE_USING_ROOT_PASSWORD = [
37937
+ [:async, TrueClass].freeze,
37938
+ [:cluster, Cluster].freeze,
37939
+ [:host, Host].freeze,
37940
+ ].freeze
37941
+
37942
+ private_constant :APPROVE_USING_ROOT_PASSWORD
37943
+
37944
+ #
37945
+ # Approve the specified host to be added to the engine by using the root password (deprecated verb). This
37946
+ # occurs when the host registers itself with the engine.
37947
+ #
37948
+ # @param opts [Hash] Additional options.
37949
+ #
37950
+ # @option opts [Boolean] :async Indicates if the approval should be performed asynchronously.
37951
+ #
37952
+ # @option opts [Cluster] :cluster The cluster where the host will be added after it is approved.
37953
+ #
37954
+ # @option opts [Host] :host The host to approve.
37955
+ #
37956
+ # @option opts [Hash] :headers ({}) Additional HTTP headers.
37957
+ #
37958
+ # @option opts [Hash] :query ({}) Additional URL query parameters.
37959
+ #
37960
+ # @option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
37961
+ # given then the timeout set globally for the connection will be used.
37962
+ #
37963
+ # @option opts [Boolean] :wait (true) If `true` wait for the response.
37964
+ #
37965
+ def approve_using_root_password(opts = {})
37966
+ internal_action(:approve, nil, APPROVE_USING_ROOT_PASSWORD, opts)
37967
+ end
37968
+
37969
+ INSTALL_USING_ROOT_PASSWORD = [
37970
+ [:async, TrueClass].freeze,
37971
+ [:deploy_hosted_engine, TrueClass].freeze,
37972
+ [:host, Host].freeze,
37973
+ [:image, String].freeze,
37974
+ [:root_password, String].freeze,
37975
+ [:ssh, Ssh].freeze,
37976
+ [:undeploy_hosted_engine, TrueClass].freeze,
37977
+ ].freeze
37978
+
37979
+ private_constant :INSTALL_USING_ROOT_PASSWORD
37980
+
37981
+ #
37982
+ # Install VDSM and other packages required to get the host ready to be used in the engine providing the root
37983
+ # password. This has been deprecated.
37984
+ #
37985
+ # @param opts [Hash] Additional options.
37986
+ #
37987
+ # @option opts [Boolean] :async Indicates if the installation should be performed asynchronously.
37988
+ #
37989
+ # @option opts [Boolean] :deploy_hosted_engine When set to `true` it means this host should also deploy the self-hosted engine components. A missing value
37990
+ # is treated as `true` i.e deploy. Omitting this parameter means `false` and will perform no operation in the
37991
+ # self-hosted engine area.
37992
+ #
37993
+ # @option opts [Host] :host The `override_iptables` property is used to indicate if the firewall configuration should be replaced by the
37994
+ # default one.
37995
+ #
37996
+ # @option opts [String] :image When installing an {product-name} node a image ISO file is required.
37997
+ #
37998
+ # @option opts [String] :root_password The password of of the `root` user, used to connect to the host via SSH.
37999
+ #
38000
+ # @option opts [Ssh] :ssh The SSH details used to connect to the host.
38001
+ #
38002
+ # @option opts [Boolean] :undeploy_hosted_engine When set to `true` it means this host should un-deploy the self-hosted engine components and this host will
38003
+ # not function as part of the High Availability cluster. A missing value is treated as `true` i.e un-deploy
38004
+ # Omitting this parameter means `false` and will perform no operation in the self-hosted engine area.
38005
+ #
38006
+ # @option opts [Hash] :headers ({}) Additional HTTP headers.
38007
+ #
38008
+ # @option opts [Hash] :query ({}) Additional URL query parameters.
38009
+ #
38010
+ # @option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
38011
+ # given then the timeout set globally for the connection will be used.
38012
+ #
38013
+ # @option opts [Boolean] :wait (true) If `true` wait for the response.
38014
+ #
38015
+ def install_using_root_password(opts = {})
38016
+ internal_action(:install, nil, INSTALL_USING_ROOT_PASSWORD, opts)
38017
+ end
38018
+
38019
+ UPDATE_USING_ROOT_PASSWORD = [
38020
+ [:async, TrueClass].freeze,
38021
+ ].freeze
38022
+
38023
+ private_constant :UPDATE_USING_ROOT_PASSWORD
38024
+
38025
+ #
38026
+ # Update the specified host in the system. This is deprecated and is provided only for backwards compatibility.
38027
+ #
38028
+ # @param host [Host] The `host` to update.
38029
+ # @param opts [Hash] Additional options.
38030
+ #
38031
+ # @option opts [Boolean] :async Indicates if the update should be performed asynchronously.
38032
+ #
38033
+ # @option opts [Hash] :headers ({}) Additional HTTP headers.
38034
+ #
38035
+ # @option opts [Hash] :query ({}) Additional URL query parameters.
38036
+ #
38037
+ # @option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
38038
+ # given then the timeout set globally for the connection will be used.
38039
+ #
38040
+ # @option opts [Boolean] :wait (true) If `true` wait for the response.
38041
+ #
38042
+ # @return [Host]
38043
+ #
38044
+ def update_using_root_password(host, opts = {})
38045
+ internal_update(host, Host, UPDATE_USING_ROOT_PASSWORD, opts)
38046
+ end
38047
+
38048
+ APPROVE_USING_SSH = [
38049
+ [:async, TrueClass].freeze,
38050
+ [:cluster, Cluster].freeze,
38051
+ [:host, Host].freeze,
38052
+ ].freeze
38053
+
38054
+ private_constant :APPROVE_USING_SSH
38055
+
38056
+ #
38057
+ # Approve the specified host to be added to the engine by using ssh authentication. This occurs when the host
38058
+ # registers itself with the engine.
38059
+ #
38060
+ # @param opts [Hash] Additional options.
38061
+ #
38062
+ # @option opts [Boolean] :async Indicates if the approval should be performed asynchronously.
38063
+ #
38064
+ # @option opts [Cluster] :cluster The cluster where the host will be added after it is approved.
38065
+ #
38066
+ # @option opts [Host] :host The host to approve.
38067
+ #
38068
+ # @option opts [Hash] :headers ({}) Additional HTTP headers.
38069
+ #
38070
+ # @option opts [Hash] :query ({}) Additional URL query parameters.
38071
+ #
38072
+ # @option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
38073
+ # given then the timeout set globally for the connection will be used.
38074
+ #
38075
+ # @option opts [Boolean] :wait (true) If `true` wait for the response.
38076
+ #
38077
+ def approve_using_ssh(opts = {})
38078
+ internal_action(:approve, nil, APPROVE_USING_SSH, opts)
38079
+ end
38080
+
38081
+ INSTALL_USING_SSH = [
38082
+ [:async, TrueClass].freeze,
38083
+ [:deploy_hosted_engine, TrueClass].freeze,
38084
+ [:host, Host].freeze,
38085
+ [:image, String].freeze,
38086
+ [:root_password, String].freeze,
38087
+ [:ssh, Ssh].freeze,
38088
+ [:undeploy_hosted_engine, TrueClass].freeze,
38089
+ ].freeze
38090
+
38091
+ private_constant :INSTALL_USING_SSH
38092
+
38093
+ #
38094
+ # Install VDSM and other packages required to get the host ready to be used in the engine providing the SSH
38095
+ # password.
38096
+ #
38097
+ # @param opts [Hash] Additional options.
38098
+ #
38099
+ # @option opts [Boolean] :async Indicates if the installation should be performed asynchronously.
38100
+ #
38101
+ # @option opts [Boolean] :deploy_hosted_engine When set to `true` it means this host should also deploy the self-hosted engine components. A missing value
38102
+ # is treated as `true` i.e deploy. Omitting this parameter means `false` and will perform no operation in the
38103
+ # self-hosted engine area.
38104
+ #
38105
+ # @option opts [Host] :host The `override_iptables` property is used to indicate if the firewall configuration should be replaced by the
38106
+ # default one.
38107
+ #
38108
+ # @option opts [String] :image When installing an {product-name} node a image ISO file is required.
38109
+ #
38110
+ # @option opts [String] :root_password The password of of the `root` user, used to connect to the host via SSH.
38111
+ #
38112
+ # @option opts [Ssh] :ssh The SSH details used to connect to the host.
38113
+ #
38114
+ # @option opts [Boolean] :undeploy_hosted_engine When set to `true` it means this host should un-deploy the self-hosted engine components and this host will
38115
+ # not function as part of the High Availability cluster. A missing value is treated as `true` i.e un-deploy
38116
+ # Omitting this parameter means `false` and will perform no operation in the self-hosted engine area.
38117
+ #
38118
+ # @option opts [Hash] :headers ({}) Additional HTTP headers.
38119
+ #
38120
+ # @option opts [Hash] :query ({}) Additional URL query parameters.
38121
+ #
38122
+ # @option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
38123
+ # given then the timeout set globally for the connection will be used.
38124
+ #
38125
+ # @option opts [Boolean] :wait (true) If `true` wait for the response.
38126
+ #
38127
+ def install_using_ssh(opts = {})
38128
+ internal_action(:install, nil, INSTALL_USING_SSH, opts)
38129
+ end
38130
+
38131
+ UPDATE_USING_SSH = [
38132
+ [:async, TrueClass].freeze,
38133
+ ].freeze
38134
+
38135
+ private_constant :UPDATE_USING_SSH
38136
+
38137
+ #
38138
+ # Updates the specified host in the system.
38139
+ #
38140
+ # @param host [Host] The `host` to update.
38141
+ # @param opts [Hash] Additional options.
38142
+ #
38143
+ # @option opts [Boolean] :async Indicates if the update should be performed asynchronously.
38144
+ #
38145
+ # @option opts [Hash] :headers ({}) Additional HTTP headers.
38146
+ #
38147
+ # @option opts [Hash] :query ({}) Additional URL query parameters.
38148
+ #
38149
+ # @option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
38150
+ # given then the timeout set globally for the connection will be used.
38151
+ #
38152
+ # @option opts [Boolean] :wait (true) If `true` wait for the response.
38153
+ #
38154
+ # @return [Host]
38155
+ #
38156
+ def update_using_ssh(host, opts = {})
38157
+ internal_update(host, Host, UPDATE_USING_SSH, opts)
38158
+ end
38159
+
36418
38160
  #
36419
38161
  # List of scheduling labels assigned to this host.
36420
38162
  #