class VSphereAutomation::VCenter::VMApi
Attributes
Public Class Methods
# File lib/vsphere-automation-vcenter/api/vm_api.rb, line 16 def initialize(api_client = ApiClient.default) @api_client = api_client end
Public Instance Methods
Creates a virtual machine. @param request_body @param [Hash] opts the optional parameters @return [VcenterVMCreateResult|VapiStdErrorsUnsupportedError|VapiStdErrorsUnauthenticatedError|VapiStdErrorsUnauthorizedError|VapiStdErrorsNotFoundError|VapiStdErrorsServiceUnavailableError|]
# File lib/vsphere-automation-vcenter/api/vm_api.rb, line 23 def create(request_body, opts = {}) data, _status_code, _headers = create_with_http_info(request_body, opts) data end
Creates a virtual machine. @api private @param request_body @param [Hash] opts the optional parameters @return [Array<(VcenterVMCreateResult|VapiStdErrorsUnsupportedError|VapiStdErrorsUnauthenticatedError|VapiStdErrorsUnauthorizedError|VapiStdErrorsNotFoundError|VapiStdErrorsServiceUnavailableError|, Fixnum, Hash)>] data, response status code and response headers
# File lib/vsphere-automation-vcenter/api/vm_api.rb, line 33 def create_with_http_info(request_body, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: VMApi.create ...' end # verify the required parameter 'request_body' is set if @api_client.config.client_side_validation && request_body.nil? fail ArgumentError, "Missing the required parameter 'request_body' when calling VMApi.create" end # resource path local_var_path = '/vcenter/vm' # query parameters query_params = {} # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # HTTP header 'Content-Type' header_params['Content-Type'] = @api_client.select_header_content_type(['application/json']) # form parameters form_params = {} # http body (model) post_body = @api_client.object_to_http_body(request_body) auth_names = ['api_key'] data, status_code, headers = @api_client.call_api(:POST, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => { '200' => 'VCenter::VcenterVMCreateResult', '400' => 'VCenter::VapiStdErrorsUnsupportedError', '401' => 'VCenter::VapiStdErrorsUnauthenticatedError', '403' => 'VCenter::VapiStdErrorsUnauthorizedError', '404' => 'VCenter::VapiStdErrorsNotFoundError', '503' => 'VCenter::VapiStdErrorsServiceUnavailableError', }) if @api_client.config.debugging @api_client.config.logger.debug "API called: VMApi#create\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end
Deletes a virtual machine. @param vm Virtual machine identifier. The parameter must be an identifier for the resource type: VirtualMachine. @param [Hash] opts the optional parameters @return [|VapiStdErrorsResourceInaccessibleError|VapiStdErrorsUnauthenticatedError|VapiStdErrorsUnauthorizedError|VapiStdErrorsNotFoundError|VapiStdErrorsServiceUnavailableError|nil]
# File lib/vsphere-automation-vcenter/api/vm_api.rb, line 83 def delete(vm, opts = {}) delete_with_http_info(vm, opts) nil end
Deletes a virtual machine. @api private @param vm Virtual machine identifier. The parameter must be an identifier for the resource type: VirtualMachine. @param [Hash] opts the optional parameters @return [Array<(|VapiStdErrorsResourceInaccessibleError|VapiStdErrorsUnauthenticatedError|VapiStdErrorsUnauthorizedError|VapiStdErrorsNotFoundError|VapiStdErrorsServiceUnavailableError|nil, Fixnum, Hash)>] nil, response status code and response headers
# File lib/vsphere-automation-vcenter/api/vm_api.rb, line 93 def delete_with_http_info(vm, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: VMApi.delete ...' end # verify the required parameter 'vm' is set if @api_client.config.client_side_validation && vm.nil? fail ArgumentError, "Missing the required parameter 'vm' when calling VMApi.delete" end # resource path local_var_path = '/vcenter/vm/{vm}'.sub('{' + 'vm' + '}', vm.to_s) # query parameters query_params = {} # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['api_key'] data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names) if @api_client.config.debugging @api_client.config.logger.debug "API called: VMApi#delete\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end
Returns information about a virtual machine. @param vm Virtual machine identifier. The parameter must be an identifier for the resource type: VirtualMachine. @param [Hash] opts the optional parameters @return [VcenterVMResult|VapiStdErrorsResourceInaccessibleError|VapiStdErrorsUnauthenticatedError|VapiStdErrorsUnauthorizedError|VapiStdErrorsNotFoundError|VapiStdErrorsServiceUnavailableError|]
# File lib/vsphere-automation-vcenter/api/vm_api.rb, line 133 def get(vm, opts = {}) data, _status_code, _headers = get_with_http_info(vm, opts) data end
Returns information about a virtual machine. @api private @param vm Virtual machine identifier. The parameter must be an identifier for the resource type: VirtualMachine. @param [Hash] opts the optional parameters @return [Array<(VcenterVMResult|VapiStdErrorsResourceInaccessibleError|VapiStdErrorsUnauthenticatedError|VapiStdErrorsUnauthorizedError|VapiStdErrorsNotFoundError|VapiStdErrorsServiceUnavailableError|, Fixnum, Hash)>] data, response status code and response headers
# File lib/vsphere-automation-vcenter/api/vm_api.rb, line 143 def get_with_http_info(vm, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: VMApi.get ...' end # verify the required parameter 'vm' is set if @api_client.config.client_side_validation && vm.nil? fail ArgumentError, "Missing the required parameter 'vm' when calling VMApi.get" end # resource path local_var_path = '/vcenter/vm/{vm}'.sub('{' + 'vm' + '}', vm.to_s) # query parameters query_params = {} # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['api_key'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => { '200' => 'VCenter::VcenterVMResult', '400' => 'VCenter::VapiStdErrorsResourceInaccessibleError', '401' => 'VCenter::VapiStdErrorsUnauthenticatedError', '403' => 'VCenter::VapiStdErrorsUnauthorizedError', '404' => 'VCenter::VapiStdErrorsNotFoundError', '503' => 'VCenter::VapiStdErrorsServiceUnavailableError', }) if @api_client.config.debugging @api_client.config.logger.debug "API called: VMApi#get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end
Returns information about at most 1000 visible (subject to permission checks) virtual machines in vCenter matching the VM.FilterSpec. @param [Hash] opts the optional parameters @option opts [Array<String>] :filter_vms Identifiers of virtual machines that can match the filter. If unset or empty, virtual machines with any identifier match the filter. When clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: VirtualMachine. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: VirtualMachine. @option opts [Array<String>] :filter_names Names that virtual machines must have to match the filter (see VM.Info.name). If unset or empty, virtual machines with any name match the filter. @option opts [Array<String>] :filter_folders Folders that must contain the virtual machine for the virtual machine to match the filter. If unset or empty, virtual machines in any folder match the filter. When clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: Folder. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: Folder. @option opts [Array<String>] :filter_datacenters Datacenters that must contain the virtual machine for the virtual machine to match the filter. If unset or empty, virtual machines in any datacenter match the filter. When clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: Datacenter. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: Datacenter. @option opts [Array<String>] :filter_hosts Hosts that must contain the virtual machine for the virtual machine to match the filter. If unset or empty, virtual machines on any host match the filter. When clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: HostSystem. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: HostSystem. @option opts [Array<String>] :filter_clusters Clusters that must contain the virtual machine for the virtual machine to match the filter. If unset or empty, virtual machines in any cluster match the filter. When clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: ClusterComputeResource. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: ClusterComputeResource. @option opts [Array<String>] :filter_resource_pools Resource pools that must contain the virtual machine for the virtual machine to match the filter. If unset or empty, virtual machines in any resource pool match the filter. When clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: ResourcePool. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: ResourcePool. @option opts [Array<String>] :filter_power_states Power states that a virtual machine must be in to match the filter (see Power.Info.state. If unset or empty, virtual machines in any power state match the filter. @return [VcenterVMListResult|VapiStdErrorsUnableToAllocateResourceError|VapiStdErrorsUnauthenticatedError|VapiStdErrorsUnauthorizedError|VapiStdErrorsServiceUnavailableError|]
# File lib/vsphere-automation-vcenter/api/vm_api.rb, line 198 def list(opts = {}) data, _status_code, _headers = list_with_http_info(opts) data end
Returns information about at most 1000 visible (subject to permission checks) virtual machines in vCenter matching the VM.FilterSpec. @api private @param [Hash] opts the optional parameters @option opts [Array<String>] :filter_vms Identifiers of virtual machines that can match the filter. If unset or empty, virtual machines with any identifier match the filter. When clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: VirtualMachine. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: VirtualMachine. @option opts [Array<String>] :filter_names Names that virtual machines must have to match the filter (see VM.Info.name). If unset or empty, virtual machines with any name match the filter. @option opts [Array<String>] :filter_folders Folders that must contain the virtual machine for the virtual machine to match the filter. If unset or empty, virtual machines in any folder match the filter. When clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: Folder. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: Folder. @option opts [Array<String>] :filter_datacenters Datacenters that must contain the virtual machine for the virtual machine to match the filter. If unset or empty, virtual machines in any datacenter match the filter. When clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: Datacenter. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: Datacenter. @option opts [Array<String>] :filter_hosts Hosts that must contain the virtual machine for the virtual machine to match the filter. If unset or empty, virtual machines on any host match the filter. When clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: HostSystem. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: HostSystem. @option opts [Array<String>] :filter_clusters Clusters that must contain the virtual machine for the virtual machine to match the filter. If unset or empty, virtual machines in any cluster match the filter. When clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: ClusterComputeResource. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: ClusterComputeResource. @option opts [Array<String>] :filter_resource_pools Resource pools that must contain the virtual machine for the virtual machine to match the filter. If unset or empty, virtual machines in any resource pool match the filter. When clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: ResourcePool. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: ResourcePool. @option opts [Array<String>] :filter_power_states Power states that a virtual machine must be in to match the filter (see Power.Info.state. If unset or empty, virtual machines in any power state match the filter. @return [Array<(VcenterVMListResult|VapiStdErrorsUnableToAllocateResourceError|VapiStdErrorsUnauthenticatedError|VapiStdErrorsUnauthorizedError|VapiStdErrorsServiceUnavailableError|, Fixnum, Hash)>] data, response status code and response headers
# File lib/vsphere-automation-vcenter/api/vm_api.rb, line 215 def list_with_http_info(opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: VMApi.list ...' end if @api_client.config.client_side_validation && opts[:'filter_power_states'] && !opts[:'filter_power_states'].all? { |item| ['POWERED_OFF', 'POWERED_ON', 'SUSPENDED'].include?(item) } fail ArgumentError, 'invalid value for "filter_power_states", must include one of POWERED_OFF, POWERED_ON, SUSPENDED' end # resource path local_var_path = '/vcenter/vm' # query parameters query_params = {} query_params[:'filter.vms'] = @api_client.build_collection_param(opts[:'filter_vms'], :multi) if !opts[:'filter_vms'].nil? query_params[:'filter.names'] = @api_client.build_collection_param(opts[:'filter_names'], :multi) if !opts[:'filter_names'].nil? query_params[:'filter.folders'] = @api_client.build_collection_param(opts[:'filter_folders'], :multi) if !opts[:'filter_folders'].nil? query_params[:'filter.datacenters'] = @api_client.build_collection_param(opts[:'filter_datacenters'], :multi) if !opts[:'filter_datacenters'].nil? query_params[:'filter.hosts'] = @api_client.build_collection_param(opts[:'filter_hosts'], :multi) if !opts[:'filter_hosts'].nil? query_params[:'filter.clusters'] = @api_client.build_collection_param(opts[:'filter_clusters'], :multi) if !opts[:'filter_clusters'].nil? query_params[:'filter.resource_pools'] = @api_client.build_collection_param(opts[:'filter_resource_pools'], :multi) if !opts[:'filter_resource_pools'].nil? query_params[:'filter.power_states'] = @api_client.build_collection_param(opts[:'filter_power_states'], :multi) if !opts[:'filter_power_states'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['api_key'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => { '200' => 'VCenter::VcenterVMListResult', '400' => 'VCenter::VapiStdErrorsUnableToAllocateResourceError', '401' => 'VCenter::VapiStdErrorsUnauthenticatedError', '403' => 'VCenter::VapiStdErrorsUnauthorizedError', '503' => 'VCenter::VapiStdErrorsServiceUnavailableError', }) if @api_client.config.debugging @api_client.config.logger.debug "API called: VMApi#list\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end