Class: Azure::ARM::Compute::Models::OSDisk

Inherits:
Object
  • Object
show all
Includes:
MsRestAzure
Defined in:
lib/azure_mgmt_compute/models/osdisk.rb

Overview

Describes an Operating System disk.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#cachingCachingTypes

include: ‘None’, ‘ReadOnly’, ‘ReadWrite’

Returns:

  • (CachingTypes)

    Gets or sets the caching type. Possible values



37
38
39
# File 'lib/azure_mgmt_compute/models/osdisk.rb', line 37

def caching
  @caching
end

#create_optionDiskCreateOptionTypes

Possible values include: ‘fromImage’, ‘empty’, ‘attach’

Returns:



41
42
43
# File 'lib/azure_mgmt_compute/models/osdisk.rb', line 41

def create_option
  @create_option
end

#disk_size_gbInteger

data disks, and the new desired size for existing OS and Data disks.

Returns:

  • (Integer)

    Gets or sets the initial disk size in GB for blank



45
46
47
# File 'lib/azure_mgmt_compute/models/osdisk.rb', line 45

def disk_size_gb
  @disk_size_gb
end

#encryption_settingsDiskEncryptionSettings

settings.

Returns:



21
22
23
# File 'lib/azure_mgmt_compute/models/osdisk.rb', line 21

def encryption_settings
  @encryption_settings
end

#imageVirtualHardDisk

VirtualHardDisk. This VirtualHardDisk will be copied before using it to attach to the Virtual Machine.If SourceImage is provided, the destination VirtualHardDisk should not exist.

Returns:



33
34
35
# File 'lib/azure_mgmt_compute/models/osdisk.rb', line 33

def image
  @image
end

#nameString

Returns Gets or sets the disk name.

Returns:

  • (String)

    Gets or sets the disk name.



24
25
26
# File 'lib/azure_mgmt_compute/models/osdisk.rb', line 24

def name
  @name
end

#os_typeOperatingSystemTypes

Possible values include: ‘Windows’, ‘Linux’

Returns:



17
18
19
# File 'lib/azure_mgmt_compute/models/osdisk.rb', line 17

def os_type
  @os_type
end

#vhdVirtualHardDisk

Returns Gets or sets the Virtual Hard Disk.

Returns:



27
28
29
# File 'lib/azure_mgmt_compute/models/osdisk.rb', line 27

def vhd
  @vhd
end

Class Method Details

.deserialize_object(object) ⇒ OSDisk

Deserializes given Ruby Hash into Model object.

Parameters:

  • object (Hash)

    Ruby Hash object to deserialize.

Returns:

  • (OSDisk)

    Deserialized object.



109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
# File 'lib/azure_mgmt_compute/models/osdisk.rb', line 109

def self.deserialize_object(object)
  return if object.nil?
  output_object = OSDisk.new

  deserialized_property = object['name']
  output_object.name = deserialized_property

  deserialized_property = object['vhd']
  unless deserialized_property.nil?
    deserialized_property = VirtualHardDisk.deserialize_object(deserialized_property)
  end
  output_object.vhd = deserialized_property

  deserialized_property = object['createOption']
  if (!deserialized_property.nil? && !deserialized_property.empty?)
    enum_is_valid = DiskCreateOptionTypes.constants.any? { |e| DiskCreateOptionTypes.const_get(e).to_s.downcase == deserialized_property.downcase }
    warn 'Enum DiskCreateOptionTypes does not contain ' + deserialized_property.downcase + ', but was received from the server.' unless enum_is_valid
  end
  output_object.create_option = deserialized_property

  deserialized_property = object['osType']
  if (!deserialized_property.nil? && !deserialized_property.empty?)
    enum_is_valid = OperatingSystemTypes.constants.any? { |e| OperatingSystemTypes.const_get(e).to_s.downcase == deserialized_property.downcase }
    warn 'Enum OperatingSystemTypes does not contain ' + deserialized_property.downcase + ', but was received from the server.' unless enum_is_valid
  end
  output_object.os_type = deserialized_property

  deserialized_property = object['encryptionSettings']
  unless deserialized_property.nil?
    deserialized_property = DiskEncryptionSettings.deserialize_object(deserialized_property)
  end
  output_object.encryption_settings = deserialized_property

  deserialized_property = object['image']
  unless deserialized_property.nil?
    deserialized_property = VirtualHardDisk.deserialize_object(deserialized_property)
  end
  output_object.image = deserialized_property

  deserialized_property = object['caching']
  if (!deserialized_property.nil? && !deserialized_property.empty?)
    enum_is_valid = CachingTypes.constants.any? { |e| CachingTypes.const_get(e).to_s.downcase == deserialized_property.downcase }
    warn 'Enum CachingTypes does not contain ' + deserialized_property.downcase + ', but was received from the server.' unless enum_is_valid
  end
  output_object.caching = deserialized_property

  deserialized_property = object['diskSizeGB']
  deserialized_property = Integer(deserialized_property) unless deserialized_property.to_s.empty?
  output_object.disk_size_gb = deserialized_property

  output_object
end

.serialize_object(object) ⇒ Hash

Serializes given Model object into Ruby Hash.

Parameters:

  • object

    Model object to serialize.

Returns:

  • (Hash)

    Serialized object in form of Ruby Hash.



64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
# File 'lib/azure_mgmt_compute/models/osdisk.rb', line 64

def self.serialize_object(object)
  object.validate
  output_object = {}

  serialized_property = object.name
  output_object['name'] = serialized_property unless serialized_property.nil?

  serialized_property = object.vhd
  unless serialized_property.nil?
    serialized_property = VirtualHardDisk.serialize_object(serialized_property)
  end
  output_object['vhd'] = serialized_property unless serialized_property.nil?

  serialized_property = object.create_option
  output_object['createOption'] = serialized_property unless serialized_property.nil?

  serialized_property = object.os_type
  output_object['osType'] = serialized_property unless serialized_property.nil?

  serialized_property = object.encryption_settings
  unless serialized_property.nil?
    serialized_property = DiskEncryptionSettings.serialize_object(serialized_property)
  end
  output_object['encryptionSettings'] = serialized_property unless serialized_property.nil?

  serialized_property = object.image
  unless serialized_property.nil?
    serialized_property = VirtualHardDisk.serialize_object(serialized_property)
  end
  output_object['image'] = serialized_property unless serialized_property.nil?

  serialized_property = object.caching
  output_object['caching'] = serialized_property unless serialized_property.nil?

  serialized_property = object.disk_size_gb
  output_object['diskSizeGB'] = serialized_property unless serialized_property.nil?

  output_object
end

Instance Method Details

#validateObject

Validate the object. Throws ValidationError if validation fails.



50
51
52
53
54
55
56
57
# File 'lib/azure_mgmt_compute/models/osdisk.rb', line 50

def validate
  fail MsRest::ValidationError, 'property name is nil' if @name.nil?
  fail MsRest::ValidationError, 'property vhd is nil' if @vhd.nil?
  fail MsRest::ValidationError, 'property create_option is nil' if @create_option.nil?
  @encryption_settings.validate unless @encryption_settings.nil?
  @vhd.validate unless @vhd.nil?
  @image.validate unless @image.nil?
end