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

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