azure_mgmt_compute 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +10 -0
  3. data/.rspec +3 -0
  4. data/.travis.yml +3 -0
  5. data/Gemfile +17 -0
  6. data/LICENSE.txt +21 -0
  7. data/README.md +139 -0
  8. data/Rakefile +5 -0
  9. data/azure_mgmt_compute.gemspec +39 -0
  10. data/lib/azure_mgmt_compute.rb +103 -0
  11. data/lib/azure_mgmt_compute/Models/additional_unattend_content.rb +108 -0
  12. data/lib/azure_mgmt_compute/Models/api_error.rb +121 -0
  13. data/lib/azure_mgmt_compute/Models/api_error_base.rb +76 -0
  14. data/lib/azure_mgmt_compute/Models/availability_set.rb +94 -0
  15. data/lib/azure_mgmt_compute/Models/availability_set_list_result.rb +79 -0
  16. data/lib/azure_mgmt_compute/Models/availability_set_properties.rb +130 -0
  17. data/lib/azure_mgmt_compute/Models/caching_types.rb +17 -0
  18. data/lib/azure_mgmt_compute/Models/component_names.rb +15 -0
  19. data/lib/azure_mgmt_compute/Models/compute_long_running_operation_properties.rb +58 -0
  20. data/lib/azure_mgmt_compute/Models/compute_long_running_operation_result.rb +126 -0
  21. data/lib/azure_mgmt_compute/Models/compute_operation_status.rb +18 -0
  22. data/lib/azure_mgmt_compute/Models/data_disk.rb +142 -0
  23. data/lib/azure_mgmt_compute/Models/data_disk_image.rb +62 -0
  24. data/lib/azure_mgmt_compute/Models/delete_operation_result.rb +109 -0
  25. data/lib/azure_mgmt_compute/Models/disk_create_option_types.rb +17 -0
  26. data/lib/azure_mgmt_compute/Models/disk_instance_view.rb +88 -0
  27. data/lib/azure_mgmt_compute/Models/hardware_profile.rb +67 -0
  28. data/lib/azure_mgmt_compute/Models/image_reference.rb +87 -0
  29. data/lib/azure_mgmt_compute/Models/inner_error.rb +68 -0
  30. data/lib/azure_mgmt_compute/Models/instance_view_status.rb +102 -0
  31. data/lib/azure_mgmt_compute/Models/linux_configuration.rb +75 -0
  32. data/lib/azure_mgmt_compute/Models/list_usages_result.rb +78 -0
  33. data/lib/azure_mgmt_compute/Models/network_interface_reference.rb +70 -0
  34. data/lib/azure_mgmt_compute/Models/network_interface_reference_properties.rb +59 -0
  35. data/lib/azure_mgmt_compute/Models/network_profile.rb +79 -0
  36. data/lib/azure_mgmt_compute/Models/operating_system_types.rb +16 -0
  37. data/lib/azure_mgmt_compute/Models/operation_status.rb +17 -0
  38. data/lib/azure_mgmt_compute/Models/osdisk.rb +135 -0
  39. data/lib/azure_mgmt_compute/Models/osdisk_image.rb +63 -0
  40. data/lib/azure_mgmt_compute/Models/osprofile.rb +149 -0
  41. data/lib/azure_mgmt_compute/Models/pass_names.rb +15 -0
  42. data/lib/azure_mgmt_compute/Models/plan.rb +85 -0
  43. data/lib/azure_mgmt_compute/Models/protocol_types.rb +16 -0
  44. data/lib/azure_mgmt_compute/Models/purchase_plan.rb +77 -0
  45. data/lib/azure_mgmt_compute/Models/setting_names.rb +16 -0
  46. data/lib/azure_mgmt_compute/Models/ssh_configuration.rb +79 -0
  47. data/lib/azure_mgmt_compute/Models/ssh_public_key.rb +72 -0
  48. data/lib/azure_mgmt_compute/Models/status_level_types.rb +17 -0
  49. data/lib/azure_mgmt_compute/Models/storage_profile.rb +110 -0
  50. data/lib/azure_mgmt_compute/Models/usage.rb +98 -0
  51. data/lib/azure_mgmt_compute/Models/usage_name.rb +68 -0
  52. data/lib/azure_mgmt_compute/Models/usage_unit.rb +15 -0
  53. data/lib/azure_mgmt_compute/Models/vault_certificate.rb +70 -0
  54. data/lib/azure_mgmt_compute/Models/vault_secret_group.rb +96 -0
  55. data/lib/azure_mgmt_compute/Models/virtual_hard_disk.rb +59 -0
  56. data/lib/azure_mgmt_compute/Models/virtual_machine.rb +142 -0
  57. data/lib/azure_mgmt_compute/Models/virtual_machine_agent_instance_view.rb +119 -0
  58. data/lib/azure_mgmt_compute/Models/virtual_machine_capture_parameters.rb +78 -0
  59. data/lib/azure_mgmt_compute/Models/virtual_machine_extension.rb +94 -0
  60. data/lib/azure_mgmt_compute/Models/virtual_machine_extension_handler_instance_view.rb +85 -0
  61. data/lib/azure_mgmt_compute/Models/virtual_machine_extension_image.rb +99 -0
  62. data/lib/azure_mgmt_compute/Models/virtual_machine_extension_image_properties.rb +102 -0
  63. data/lib/azure_mgmt_compute/Models/virtual_machine_extension_instance_view.rb +139 -0
  64. data/lib/azure_mgmt_compute/Models/virtual_machine_extension_properties.rb +133 -0
  65. data/lib/azure_mgmt_compute/Models/virtual_machine_image.rb +99 -0
  66. data/lib/azure_mgmt_compute/Models/virtual_machine_image_properties.rb +110 -0
  67. data/lib/azure_mgmt_compute/Models/virtual_machine_image_resource.rb +83 -0
  68. data/lib/azure_mgmt_compute/Models/virtual_machine_instance_view.rb +188 -0
  69. data/lib/azure_mgmt_compute/Models/virtual_machine_list_result.rb +89 -0
  70. data/lib/azure_mgmt_compute/Models/virtual_machine_properties.rb +156 -0
  71. data/lib/azure_mgmt_compute/Models/virtual_machine_size.rb +111 -0
  72. data/lib/azure_mgmt_compute/Models/virtual_machine_size_list_result.rb +79 -0
  73. data/lib/azure_mgmt_compute/Models/virtual_machine_size_types.rb +34 -0
  74. data/lib/azure_mgmt_compute/Models/win_rmconfiguration.rb +79 -0
  75. data/lib/azure_mgmt_compute/Models/win_rmlistener.rb +73 -0
  76. data/lib/azure_mgmt_compute/Models/windows_configuration.rb +126 -0
  77. data/lib/azure_mgmt_compute/availability_sets.rb +473 -0
  78. data/lib/azure_mgmt_compute/compute_management_client.rb +85 -0
  79. data/lib/azure_mgmt_compute/module_definition.rb +6 -0
  80. data/lib/azure_mgmt_compute/usage_operations.rb +113 -0
  81. data/lib/azure_mgmt_compute/version.rb +6 -0
  82. data/lib/azure_mgmt_compute/virtual_machine_extension_images.rb +325 -0
  83. data/lib/azure_mgmt_compute/virtual_machine_extensions.rb +384 -0
  84. data/lib/azure_mgmt_compute/virtual_machine_images.rb +525 -0
  85. data/lib/azure_mgmt_compute/virtual_machine_sizes.rb +114 -0
  86. data/lib/azure_mgmt_compute/virtual_machines.rb +1412 -0
  87. metadata +303 -0
@@ -0,0 +1,75 @@
1
+ # encoding: utf-8
2
+ # Code generated by Microsoft (R) AutoRest Code Generator 0.11.0.0
3
+ # Changes may cause incorrect behavior and will be lost if the code is
4
+ # regenerated.
5
+
6
+ module Azure::ARM::Compute
7
+ module Models
8
+ #
9
+ # Describes Windows Configuration of the OS Profile.
10
+ #
11
+ class LinuxConfiguration
12
+
13
+ include MsRestAzure
14
+
15
+ # @return [Boolean] Gets or sets whether Authentication using user name
16
+ # and password is allowed or not
17
+ attr_accessor :disable_password_authentication
18
+
19
+ # @return [SshConfiguration] Gets or sets the SSH configuration for
20
+ # linux VMs
21
+ attr_accessor :ssh
22
+
23
+ #
24
+ # Validate the object. Throws ValidationError if validation fails.
25
+ #
26
+ def validate
27
+ @ssh.validate unless @ssh.nil?
28
+ end
29
+
30
+ #
31
+ # Serializes given Model object into Ruby Hash.
32
+ # @param object Model object to serialize.
33
+ # @return [Hash] Serialized object in form of Ruby Hash.
34
+ #
35
+ def self.serialize_object(object)
36
+ object.validate
37
+ output_object = {}
38
+
39
+ serialized_property = object.disable_password_authentication
40
+ output_object['disablePasswordAuthentication'] = serialized_property unless serialized_property.nil?
41
+
42
+ serialized_property = object.ssh
43
+ unless serialized_property.nil?
44
+ serialized_property = SshConfiguration.serialize_object(serialized_property)
45
+ end
46
+ output_object['ssh'] = serialized_property unless serialized_property.nil?
47
+
48
+ output_object
49
+ end
50
+
51
+ #
52
+ # Deserializes given Ruby Hash into Model object.
53
+ # @param object [Hash] Ruby Hash object to deserialize.
54
+ # @return [LinuxConfiguration] Deserialized object.
55
+ #
56
+ def self.deserialize_object(object)
57
+ return if object.nil?
58
+ output_object = LinuxConfiguration.new
59
+
60
+ deserialized_property = object['disablePasswordAuthentication']
61
+ output_object.disable_password_authentication = deserialized_property
62
+
63
+ deserialized_property = object['ssh']
64
+ unless deserialized_property.nil?
65
+ deserialized_property = SshConfiguration.deserialize_object(deserialized_property)
66
+ end
67
+ output_object.ssh = deserialized_property
68
+
69
+ output_object.validate
70
+
71
+ output_object
72
+ end
73
+ end
74
+ end
75
+ end
@@ -0,0 +1,78 @@
1
+ # encoding: utf-8
2
+ # Code generated by Microsoft (R) AutoRest Code Generator 0.11.0.0
3
+ # Changes may cause incorrect behavior and will be lost if the code is
4
+ # regenerated.
5
+
6
+ module Azure::ARM::Compute
7
+ module Models
8
+ #
9
+ # The List Usages operation response.
10
+ #
11
+ class ListUsagesResult
12
+
13
+ include MsRestAzure
14
+
15
+ # @return [Array<Usage>] Gets or sets the list Compute Resource Usages.
16
+ attr_accessor :value
17
+
18
+ #
19
+ # Validate the object. Throws ValidationError if validation fails.
20
+ #
21
+ def validate
22
+ @value.each{ |e| e.validate if e.respond_to?(:validate) } unless @value.nil?
23
+ end
24
+
25
+ #
26
+ # Serializes given Model object into Ruby Hash.
27
+ # @param object Model object to serialize.
28
+ # @return [Hash] Serialized object in form of Ruby Hash.
29
+ #
30
+ def self.serialize_object(object)
31
+ object.validate
32
+ output_object = {}
33
+
34
+ serialized_property = object.value
35
+ unless serialized_property.nil?
36
+ serializedArray = []
37
+ serialized_property.each do |element|
38
+ unless element.nil?
39
+ element = Usage.serialize_object(element)
40
+ end
41
+ serializedArray.push(element)
42
+ end
43
+ serialized_property = serializedArray
44
+ end
45
+ output_object['value'] = serialized_property unless serialized_property.nil?
46
+
47
+ output_object
48
+ end
49
+
50
+ #
51
+ # Deserializes given Ruby Hash into Model object.
52
+ # @param object [Hash] Ruby Hash object to deserialize.
53
+ # @return [ListUsagesResult] Deserialized object.
54
+ #
55
+ def self.deserialize_object(object)
56
+ return if object.nil?
57
+ output_object = ListUsagesResult.new
58
+
59
+ deserialized_property = object['value']
60
+ unless deserialized_property.nil?
61
+ deserializedArray = [];
62
+ deserialized_property.each do |element1|
63
+ unless element1.nil?
64
+ element1 = Usage.deserialize_object(element1)
65
+ end
66
+ deserializedArray.push(element1);
67
+ end
68
+ deserialized_property = deserializedArray;
69
+ end
70
+ output_object.value = deserialized_property
71
+
72
+ output_object.validate
73
+
74
+ output_object
75
+ end
76
+ end
77
+ end
78
+ end
@@ -0,0 +1,70 @@
1
+ # encoding: utf-8
2
+ # Code generated by Microsoft (R) AutoRest Code Generator 0.11.0.0
3
+ # Changes may cause incorrect behavior and will be lost if the code is
4
+ # regenerated.
5
+
6
+ module Azure::ARM::Compute
7
+ module Models
8
+ #
9
+ # Describes a network interface reference.
10
+ #
11
+ class NetworkInterfaceReference < MsRestAzure::SubResource
12
+
13
+ include MsRestAzure
14
+
15
+ # @return [NetworkInterfaceReferenceProperties]
16
+ attr_accessor :properties
17
+
18
+ #
19
+ # Validate the object. Throws ValidationError if validation fails.
20
+ #
21
+ def validate
22
+ @properties.validate unless @properties.nil?
23
+ end
24
+
25
+ #
26
+ # Serializes given Model object into Ruby Hash.
27
+ # @param object Model object to serialize.
28
+ # @return [Hash] Serialized object in form of Ruby Hash.
29
+ #
30
+ def self.serialize_object(object)
31
+ object.validate
32
+ output_object = {}
33
+
34
+ serialized_property = object.id
35
+ output_object['id'] = serialized_property unless serialized_property.nil?
36
+
37
+ serialized_property = object.properties
38
+ unless serialized_property.nil?
39
+ serialized_property = NetworkInterfaceReferenceProperties.serialize_object(serialized_property)
40
+ end
41
+ output_object['properties'] = serialized_property unless serialized_property.nil?
42
+
43
+ output_object
44
+ end
45
+
46
+ #
47
+ # Deserializes given Ruby Hash into Model object.
48
+ # @param object [Hash] Ruby Hash object to deserialize.
49
+ # @return [NetworkInterfaceReference] Deserialized object.
50
+ #
51
+ def self.deserialize_object(object)
52
+ return if object.nil?
53
+ output_object = NetworkInterfaceReference.new
54
+
55
+ deserialized_property = object['id']
56
+ output_object.id = deserialized_property
57
+
58
+ deserialized_property = object['properties']
59
+ unless deserialized_property.nil?
60
+ deserialized_property = NetworkInterfaceReferenceProperties.deserialize_object(deserialized_property)
61
+ end
62
+ output_object.properties = deserialized_property
63
+
64
+ output_object.validate
65
+
66
+ output_object
67
+ end
68
+ end
69
+ end
70
+ end
@@ -0,0 +1,59 @@
1
+ # encoding: utf-8
2
+ # Code generated by Microsoft (R) AutoRest Code Generator 0.11.0.0
3
+ # Changes may cause incorrect behavior and will be lost if the code is
4
+ # regenerated.
5
+
6
+ module Azure::ARM::Compute
7
+ module Models
8
+ #
9
+ # Describes a network interface reference properties.
10
+ #
11
+ class NetworkInterfaceReferenceProperties
12
+
13
+ include MsRestAzure
14
+
15
+ # @return [Boolean] Gets or sets whether this is a primary NIC on a
16
+ # virtual machine
17
+ attr_accessor :primary
18
+
19
+ #
20
+ # Validate the object. Throws ValidationError if validation fails.
21
+ #
22
+ def validate
23
+ # Nothing to validate
24
+ end
25
+
26
+ #
27
+ # Serializes given Model object into Ruby Hash.
28
+ # @param object Model object to serialize.
29
+ # @return [Hash] Serialized object in form of Ruby Hash.
30
+ #
31
+ def self.serialize_object(object)
32
+ object.validate
33
+ output_object = {}
34
+
35
+ serialized_property = object.primary
36
+ output_object['primary'] = serialized_property unless serialized_property.nil?
37
+
38
+ output_object
39
+ end
40
+
41
+ #
42
+ # Deserializes given Ruby Hash into Model object.
43
+ # @param object [Hash] Ruby Hash object to deserialize.
44
+ # @return [NetworkInterfaceReferenceProperties] Deserialized object.
45
+ #
46
+ def self.deserialize_object(object)
47
+ return if object.nil?
48
+ output_object = NetworkInterfaceReferenceProperties.new
49
+
50
+ deserialized_property = object['primary']
51
+ output_object.primary = deserialized_property
52
+
53
+ output_object.validate
54
+
55
+ output_object
56
+ end
57
+ end
58
+ end
59
+ end
@@ -0,0 +1,79 @@
1
+ # encoding: utf-8
2
+ # Code generated by Microsoft (R) AutoRest Code Generator 0.11.0.0
3
+ # Changes may cause incorrect behavior and will be lost if the code is
4
+ # regenerated.
5
+
6
+ module Azure::ARM::Compute
7
+ module Models
8
+ #
9
+ # Describes a network profile.
10
+ #
11
+ class NetworkProfile
12
+
13
+ include MsRestAzure
14
+
15
+ # @return [Array<NetworkInterfaceReference>] Gets or sets the network
16
+ # interfaces.
17
+ attr_accessor :network_interfaces
18
+
19
+ #
20
+ # Validate the object. Throws ValidationError if validation fails.
21
+ #
22
+ def validate
23
+ @network_interfaces.each{ |e| e.validate if e.respond_to?(:validate) } unless @network_interfaces.nil?
24
+ end
25
+
26
+ #
27
+ # Serializes given Model object into Ruby Hash.
28
+ # @param object Model object to serialize.
29
+ # @return [Hash] Serialized object in form of Ruby Hash.
30
+ #
31
+ def self.serialize_object(object)
32
+ object.validate
33
+ output_object = {}
34
+
35
+ serialized_property = object.network_interfaces
36
+ unless serialized_property.nil?
37
+ serializedArray = []
38
+ serialized_property.each do |element|
39
+ unless element.nil?
40
+ element = NetworkInterfaceReference.serialize_object(element)
41
+ end
42
+ serializedArray.push(element)
43
+ end
44
+ serialized_property = serializedArray
45
+ end
46
+ output_object['networkInterfaces'] = serialized_property unless serialized_property.nil?
47
+
48
+ output_object
49
+ end
50
+
51
+ #
52
+ # Deserializes given Ruby Hash into Model object.
53
+ # @param object [Hash] Ruby Hash object to deserialize.
54
+ # @return [NetworkProfile] Deserialized object.
55
+ #
56
+ def self.deserialize_object(object)
57
+ return if object.nil?
58
+ output_object = NetworkProfile.new
59
+
60
+ deserialized_property = object['networkInterfaces']
61
+ unless deserialized_property.nil?
62
+ deserializedArray = [];
63
+ deserialized_property.each do |element1|
64
+ unless element1.nil?
65
+ element1 = NetworkInterfaceReference.deserialize_object(element1)
66
+ end
67
+ deserializedArray.push(element1);
68
+ end
69
+ deserialized_property = deserializedArray;
70
+ end
71
+ output_object.network_interfaces = deserialized_property
72
+
73
+ output_object.validate
74
+
75
+ output_object
76
+ end
77
+ end
78
+ end
79
+ end
@@ -0,0 +1,16 @@
1
+ # encoding: utf-8
2
+ # Code generated by Microsoft (R) AutoRest Code Generator 0.11.0.0
3
+ # Changes may cause incorrect behavior and will be lost if the code is
4
+ # regenerated.
5
+
6
+ module Azure::ARM::Compute
7
+ module Models
8
+ #
9
+ # Defines values for OperatingSystemTypes
10
+ #
11
+ module OperatingSystemTypes
12
+ Windows = "Windows"
13
+ Linux = "Linux"
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,17 @@
1
+ # encoding: utf-8
2
+ # Code generated by Microsoft (R) AutoRest Code Generator 0.11.0.0
3
+ # Changes may cause incorrect behavior and will be lost if the code is
4
+ # regenerated.
5
+
6
+ module Azure::ARM::Compute
7
+ module Models
8
+ #
9
+ # Defines values for OperationStatus
10
+ #
11
+ module OperationStatus
12
+ InProgress = "InProgress"
13
+ Succeeded = "Succeeded"
14
+ Failed = "Failed"
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,135 @@
1
+ # encoding: utf-8
2
+ # Code generated by Microsoft (R) AutoRest Code Generator 0.11.0.0
3
+ # Changes may cause incorrect behavior and will be lost if the code is
4
+ # regenerated.
5
+
6
+ module Azure::ARM::Compute
7
+ module Models
8
+ #
9
+ # Describes an Operating System disk.
10
+ #
11
+ class OSDisk
12
+
13
+ include MsRestAzure
14
+
15
+ # @return [OperatingSystemTypes] Gets or sets the Operating System type.
16
+ # Possible values for this property include: 'Windows', 'Linux'.
17
+ attr_accessor :os_type
18
+
19
+ # @return [String] Gets or sets the disk name.
20
+ attr_accessor :name
21
+
22
+ # @return [VirtualHardDisk] Gets or sets the Virtual Hard Disk.
23
+ attr_accessor :vhd
24
+
25
+ # @return [VirtualHardDisk] Gets or sets the Source User Image
26
+ # VirtualHardDisk. This VirtualHardDisk will be copied before using it
27
+ # to attach to the Virtual Machine.If SourceImage is provided, the
28
+ # destination VirtualHardDisk should not exist.
29
+ attr_accessor :image
30
+
31
+ # @return [CachingTypes] Gets or sets the caching type. Possible values
32
+ # for this property include: 'None', 'ReadOnly', 'ReadWrite'.
33
+ attr_accessor :caching
34
+
35
+ # @return [DiskCreateOptionTypes] Gets or sets the create option.
36
+ # Possible values for this property include: 'fromImage', 'empty',
37
+ # 'attach'.
38
+ attr_accessor :create_option
39
+
40
+ #
41
+ # Validate the object. Throws ValidationError if validation fails.
42
+ #
43
+ def validate
44
+ @vhd.validate unless @vhd.nil?
45
+ @image.validate unless @image.nil?
46
+ end
47
+
48
+ #
49
+ # Serializes given Model object into Ruby Hash.
50
+ # @param object Model object to serialize.
51
+ # @return [Hash] Serialized object in form of Ruby Hash.
52
+ #
53
+ def self.serialize_object(object)
54
+ object.validate
55
+ output_object = {}
56
+
57
+ serialized_property = object.os_type
58
+ output_object['osType'] = serialized_property unless serialized_property.nil?
59
+
60
+ serialized_property = object.name
61
+ output_object['name'] = serialized_property unless serialized_property.nil?
62
+
63
+ serialized_property = object.vhd
64
+ unless serialized_property.nil?
65
+ serialized_property = VirtualHardDisk.serialize_object(serialized_property)
66
+ end
67
+ output_object['vhd'] = serialized_property unless serialized_property.nil?
68
+
69
+ serialized_property = object.image
70
+ unless serialized_property.nil?
71
+ serialized_property = VirtualHardDisk.serialize_object(serialized_property)
72
+ end
73
+ output_object['image'] = serialized_property unless serialized_property.nil?
74
+
75
+ serialized_property = object.caching
76
+ output_object['caching'] = serialized_property unless serialized_property.nil?
77
+
78
+ serialized_property = object.create_option
79
+ output_object['createOption'] = serialized_property unless serialized_property.nil?
80
+
81
+ output_object
82
+ end
83
+
84
+ #
85
+ # Deserializes given Ruby Hash into Model object.
86
+ # @param object [Hash] Ruby Hash object to deserialize.
87
+ # @return [OSDisk] Deserialized object.
88
+ #
89
+ def self.deserialize_object(object)
90
+ return if object.nil?
91
+ output_object = OSDisk.new
92
+
93
+ deserialized_property = object['osType']
94
+ if (!deserialized_property.nil? && !deserialized_property.empty?)
95
+ enum_is_valid = OperatingSystemTypes.constants.any? { |e| OperatingSystemTypes.const_get(e).to_s.downcase == deserialized_property.downcase }
96
+ fail MsRest::DeserializationError.new('Error occured while deserializing the enum', nil, nil, nil) unless enum_is_valid
97
+ end
98
+ output_object.os_type = deserialized_property
99
+
100
+ deserialized_property = object['name']
101
+ output_object.name = deserialized_property
102
+
103
+ deserialized_property = object['vhd']
104
+ unless deserialized_property.nil?
105
+ deserialized_property = VirtualHardDisk.deserialize_object(deserialized_property)
106
+ end
107
+ output_object.vhd = deserialized_property
108
+
109
+ deserialized_property = object['image']
110
+ unless deserialized_property.nil?
111
+ deserialized_property = VirtualHardDisk.deserialize_object(deserialized_property)
112
+ end
113
+ output_object.image = deserialized_property
114
+
115
+ deserialized_property = object['caching']
116
+ if (!deserialized_property.nil? && !deserialized_property.empty?)
117
+ enum_is_valid = CachingTypes.constants.any? { |e| CachingTypes.const_get(e).to_s.downcase == deserialized_property.downcase }
118
+ fail MsRest::DeserializationError.new('Error occured while deserializing the enum', nil, nil, nil) unless enum_is_valid
119
+ end
120
+ output_object.caching = deserialized_property
121
+
122
+ deserialized_property = object['createOption']
123
+ if (!deserialized_property.nil? && !deserialized_property.empty?)
124
+ enum_is_valid = DiskCreateOptionTypes.constants.any? { |e| DiskCreateOptionTypes.const_get(e).to_s.downcase == deserialized_property.downcase }
125
+ fail MsRest::DeserializationError.new('Error occured while deserializing the enum', nil, nil, nil) unless enum_is_valid
126
+ end
127
+ output_object.create_option = deserialized_property
128
+
129
+ output_object.validate
130
+
131
+ output_object
132
+ end
133
+ end
134
+ end
135
+ end