Class: Inspec::Resources::AzureVirtualMachineDataDisk

Inherits:
AzureResourceBase show all
Defined in:
lib/resources/azure/azure_virtual_machine_data_disk.rb

Instance Attribute Summary

Attributes inherited from AzureResourceBase

#azure, #client, #opts

Instance Method Summary collapse

Methods inherited from AzureResourceBase

#catch_azure_errors, #create_tag_methods, #failed_resource?, #has_tags?, #resource_group, #resources, #tag_count

Constructor Details

#initialize(opts = {}) ⇒ AzureVirtualMachineDataDisk

Constructor for the resource. This calls the parent constructor to get the generic resource for the specified machine. This will provide static methods that are documented

Author:

  • Russell Seymour



37
38
39
40
41
42
43
44
# File 'lib/resources/azure/azure_virtual_machine_data_disk.rb', line 37

def initialize(opts = {})
  # The generic resource needs to pass back a Microsoft.Compute/virtualMachines object so force it
  opts[:type] = "Microsoft.Compute/virtualMachines"
  super(opts)

  # Get the data disks
  resources
end

Instance Method Details

#countObject

Return an integer stating how many data disks are attached to the machine



66
67
68
# File 'lib/resources/azure/azure_virtual_machine_data_disk.rb', line 66

def count
  entries.count
end

#datadisk_detailsObject

Return information about the disks and add to the filter table so that assertions can be performed

Author:

  • Russell Seymour



50
51
52
53
54
55
56
57
58
# File 'lib/resources/azure/azure_virtual_machine_data_disk.rb', line 50

def datadisk_details
  return if failed_resource?

  # Iterate around the data disks on the machine
  properties.storageProfile.dataDisks.each_with_index.map do |datadisk, index|
    # Call function to parse the data disks and return an object based on the parameters
    parse_datadisk(datadisk, index)
  end
end

#has_data_disks?Boolean

Return boolean to denote if the machine has data disks attached or not

Returns:

  • (Boolean)


61
62
63
# File 'lib/resources/azure/azure_virtual_machine_data_disk.rb', line 61

def has_data_disks?
  !entries.empty?
end

#has_managed_disks?Boolean

Return boolean to state if the machine is using managed disks for data disks

Returns:

  • (Boolean)


71
72
73
74
75
# File 'lib/resources/azure/azure_virtual_machine_data_disk.rb', line 71

def has_managed_disks?
  # iterate around the entries
  result = entries.each.select { |e| e[:is_managed_disk?] }
  result.empty? ? false : true
end