Home
Introduction
Getting Started
Authentication
Use Cases
access_control_policies
action_templates
action_rule_results
action_rules
action_trigger_types
action_types
address_groups
alerts
app_runlogs
apps
audits
availability_zones
aws/regions
aws/availability_zones
aws/roles
aws/key_pairs
aws/machine_types
aws/volume_types
aws/elastic_ips
aws/images
aws/security_groups
aws/subnets
aws/vms
aws/vpcs
physical_availability_zone
batch
billing
blackouts
blueprint
app_tasks
categories
cell
cloud
clusters
reports
datacenter
direct_connect_virtual_interfaces
direct_connects
directory_services
disks
docker_registry
entity_sync_rules
environments
file_store
floating_ip
gcp/disk_types
gcp/images
gcp/instances
gcp/machine_types
gcp/networks
gcp/persistent_disks
gcp/regions
gcp/snapshots
gcp/subnetworks
gcp/zones
gcp/firewalls
graphql
cloud_tenant
groups
hosts
idempotence_identifiers
identity_categorization
security_monitoring
accounts
identity_providers
images
image_placement_policies
ipfix_exporters
marketplace_item
vms
ovas
mh_vms
mh_vm
migrate
network_device
network_function_chains
network_security_rules
ngt_policies
oauth
permissions
portal_services
prism_central
project
projects
protection_rules
rack
rackable_unit
recovery_plan_jobs
recovery_plans
remote_connections
roles
routing_policies
search
favorites
services
service_groups
ssh_user
streaming_policy
subnets
tasks
tenants
underlay_subnet
user_groups
users
versions
virtual_network
vpc
vmware/datacenter
vmware/datastore
vmware/template
vmware/timezone
vmware/host
vmware/cluster
vmware/storage_pod
vmware/network_adapter
vmware/network
vmware/resourcepool
vmware/vm
volume_groups
vpn_connection
vpn_gateway
whatif
remote_syslog_servers
remote_syslog_modules
ngt
vm_recovery_points
directory_services_internal
Reference
Powered by Stoplight

INTRODUCTION

Representational state transfer ( REST ) Application Programming Interface (API) 3.0 is based on an intentful API philosophy. According to the intentful API philosophy the machine should handle the programming instead of the user enabling the datacenter administrator able to focus on the other tasks. You need to specify the end state of an entity and the system will compile and execute a series of steps to achieve the defined end state of the entity. The progress to achieve the desired state is tracked through waits and events. This approach is similar to the Google Kubernetes standard.

All the entities and the list of entities follow a homogenous specification format resulting in ease of programming despite different entities being involved. Also, this enables the user to get familiar with the APIs quickly.

Intentful APIs reduces the number of action verbs required to achieve the desired state of an entity. Most of the changes can be achieved by defining the desired state of an entity rather than through a series of action verbs.

TERMINOLOGY

Item Description
Entity An object that is managed through an API.
Kind Represents the type of entity. For example, VM or alerts.
Resource Kind An entity that represents a physical or virtual infrastructure resource. For example, VM or an application.
Helper Kind An entity that is not an infrastructure resource, but represents the entity that is used along with the infrastructure resources. For example, alert, event, or status.
Basic Resource Kind An entity type that is a primary resource. For example, VM.
Related Resource Kind An entity type that is automatically defined by the system and is related to the basic Kind entities. For example, vm_snapshot.
Type Represents sub-categories or sub-objects of the top-level resource types. For example, reference.
Resource Limit An entity type that represents a quota of resources of different types.
Snapshot Represents the state of resources and policies of an entity at a particular point of time.
Backup An automatically created aggregation object that collects all the snapshots for the same object within the same resource pool.
Profile A profile is a set of resources and policy specifications that is applied to an entity.
Template A template is a specification that generates valid entities by providing input parameters.
Spec A section in the request json, which represents an entity, that expresses the desired state of the entity.
Status A section in the json representation that expresses the current state of the entity.

RULES

  • The metadata section has fields that relate to all kinds of entities and can be updated instantly by the system.
  • The spec section cannot be updated after initialization by the system without a user or automation intervention.
  • The status section has a copy of the currently enforced version of the spec section and other fields that are managed or updated automatically by the system. Few fields in the status section can be updated by the user as well.
  • The parent_reference field is mandatory for snapshot and backup entities and is present in the normal entities, if the entities are created with the parent_reference field populated (clone or restore).
  • Any field that represents a defined type has the type name as a suffix. For example, backup_factory and vm_reference.

Nutanix API versions – What are they and what does each one do?