Snow Software Computer virtual machines API
The Computer virtual machines API from Snow Software — 1 operation(s) for computer virtual machines.
The Computer virtual machines API from Snow Software — 1 operation(s) for computer virtual machines.
openapi: 3.0.3
info:
title: 'SAM: Computers Applications Computer virtual machines API'
description: API for interacting with computers.
contact:
name: Flexera
url: https://www.flexera.com
version: 1.0.0
servers:
- url: https://{region}.snowsoftware.io
variables:
region:
enum:
- westeurope
- australiasoutheast
- eastus2
- uksouth
default: westeurope
tags:
- name: Computer virtual machines
paths:
/api/sam/estate/v1/computers/{id}/virtual-machines:
get:
tags:
- Computer virtual machines
summary: Get Computer's Virtual Machines
description: Returns a collection of virtual machines for the given computer.
operationId: getComputerVirtualMachines
parameters:
- name: id
in: path
description: The unique ID of the virtual machine.
required: true
schema:
type: string
- name: page_number
in: query
description: The page number.
schema:
type: integer
default: 1
minimum: 1.0
- name: page_size
in: query
description: The maximum number of items in the response.
schema:
type: integer
default: 100
minimum: 1.0
- name: filter
in: query
description: 'The fields which you can use to filter the results. Format of the query string parameter:
```
?filter=<filter name> <operator> <value>
```
Filter name | Description | Data type | Example
:--- | --- | --- | ---
For more information on the available operators and which data types those operators work on, see [Filter API call results](https://docs.snowsoftware.io/snow-atlas-api/resources/get-started-with-apis/api-conventions#filter-api-call-results).
'
schema:
type: string
responses:
'200':
description: 'OK: Your request succeeded.'
content:
application/json:
schema:
$ref: '#/components/schemas/FilteredResponseWithLinksOfComputerVirtualMachine'
'400':
$ref: '#/components/responses/400'
'404':
$ref: '#/components/responses/404'
'500':
$ref: '#/components/responses/500'
security:
- BearerAuth:
- sam.computer.r
components:
schemas:
Link:
type: object
required:
- href
- rel
- method
properties:
href:
type: string
description: The associated relative URL.
example: api/computers/v1/...
rel:
type: string
description: Specifies the relationship between the current document and the linked document/resource.
example: self
method:
type: string
description: The method to access related resources.
example: GET
ComputerVirtualMachineDetails:
allOf:
- $ref: '#/components/schemas/BaseResponse'
- type: object
description: Response class for computer applications.
additionalProperties: false
required:
- id
properties:
id:
type: string
description: The unique ID of the computer.
format: guid
example: 29ce62ac-d575-4ff1-90e8-b84eaed0f5d8
machineId:
type: string
description: The unique ID of the inventory virtual machine.
format: guid
nullable: true
example: 29ce62ac-d575-4ff1-90e8-b84eaed0f5d8
name:
type: string
description: Name of the virtual machine.
nullable: true
example: VM nr. 11
operatingSystem:
type: string
description: Name of the operating system installed.
nullable: true
example: Windows 10
ip:
type: string
description: IP of the virtuale machine.
nullable: true
example: 192.168.1.15
manufacturer:
type: string
description: Manufacturer of the virtual machine.
nullable: true
example: Broadcom
model:
type: string
description: Model of the virtual machine.
nullable: true
example: VMware 17.5.2
lastScanDate:
type: string
description: The date and time that the virtual machine was last scanned.
format: date-time
example: '2024-03-24T12:52:20Z'
powerState:
type: string
description: Power state of the virtual machine.
nullable: true
example: Shut down
processorCount:
type: integer
description: The number of processors in the virtual machine.
format: int32
nullable: true
example: 2
coreCount:
type: integer
description: The number of cores in the virtual machine.
format: int32
nullable: true
example: 8
isInventoried:
type: boolean
description: '```true``` if Get Virtual Machines From Computers ; otherwise, ```false```.'
example: true
ErrorResponse:
type: object
description: Response representing error.
additionalProperties: false
required:
- error
properties:
error:
description: The error details.
oneOf:
- $ref: '#/components/schemas/ErrorContent'
ErrorContent:
type: object
description: Details of error.
additionalProperties: false
required:
- code
- message
properties:
code:
type: integer
description: Http error code.
format: int32
example: 400
message:
type: string
description: Additional error message.
nullable: true
example: 'Invalid GUID format: 123. All computer IDs must be in valid GUID format (00000000-0000-0000-0000-000000000000).'
BaseResponse:
type: object
description: Base response class.
additionalProperties: false
required:
- _links
properties:
_links:
type: array
description: A collection of links to related resources.
items:
$ref: '#/components/schemas/Link'
ComputerVirtualMachine:
allOf:
- $ref: '#/components/schemas/ComputerVirtualMachineDetails'
- type: object
description: Response representing computer virtual machines for a given computer.
additionalProperties: false
FilteredResponseWithLinksOfComputerVirtualMachine:
allOf:
- $ref: '#/components/schemas/BaseResponse'
- type: object
description: Generic response class supporting filtering and including links.
additionalProperties: false
required:
- items
- pagination
properties:
items:
type: array
description: A collection of items returned in the response.
items:
$ref: '#/components/schemas/ComputerVirtualMachine'
pagination:
description: The pagination details.
oneOf:
- $ref: '#/components/schemas/PaginationResponse'
PaginationResponse:
type: object
description: Generic response class for the pagination part. Properties are annotated using DataMemberAttribute so that we're aligned with REST style guide regarding the json payload.
additionalProperties: false
required:
- page_size
- page_number
properties:
page_size:
type: integer
description: The page size you requested.
format: int32
example: 25
page_number:
type: integer
description: The page number you requested.
format: int32
example: 1
total_pages:
type: integer
description: The total number of pages.
format: int32
nullable: true
example: 10
total_items:
type: integer
description: The total number of items.
format: int32
nullable: true
example: 240
responses:
'500':
description: 'Internal Server Error: Your request failed due to an internal error.'
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
example:
error:
code: 500
message: The service encountered an unexpected condition that prevented it from fulfilling the request.
'400':
description: 'Bad Request: Your request is invalid or improperly formed. Consequently, the API server could not understand your request.'
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
example:
error:
code: 400
message: Filter field name needs to be formatted as a string.
'404':
description: 'Not Found: The operation you requested failed because a resource associated with your request could not be found.'
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
example:
error:
code: 404
message: Resource with ID '32aeda0a-80dc-475a-907f-2d250a3a8614' not found.
securitySchemes:
BearerAuth:
type: http
scheme: bearer
bearerFormat: JWT